Wasmjit: Webassembly-Laufzeit entsteht als Linux-Kernel-Modul

Das Projekt Wasmjit soll als Modul im Linux-Kernel zum Einsatz kommen und dort als Laufzeitumgebung Webassembly ausführen. Der Code ist in C geschrieben, soll gut portierbar sein und Webassembly aus dem Browser herausholen.

Artikel veröffentlicht am , Kristian Kißling/Linux Magazin/
Webassembly kann auch im Kernel laufen.
Webassembly kann auch im Kernel laufen. (Bild: Webassembly)

Das Webassembly-Projekt (Wasm) soll eigentlich einen einheitlichen Bytecode für das Web erstellen, der dann schnell und sicher in Browsern ausgeführt werden kann. Das Projekt Wasmjit will die Nutzung von Webassembly allerdings aus dem Browser herausholen und im Ring O, also im Kernel, umsetzen. Der Kern der Laufzeit ist in C geschrieben (nach dem ISO-Standard C90) und soll daher leicht auf andere Umgebungen portiert werden können. Die gewünschten Kernel-Module sollen mit dem Werkzeug Emscripten in Wasm kompiliert werden.

Stellenmarkt
  1. IT Support (w/m/d)
    IR Logistics b.v. Zweigniederlassung Coesfeld, Langenfeld, Dorsten
  2. Senior-Softwareentwickler (w/m/d) Java - Produktentwicklung
    SSI SCHÄFER IT Solutions GmbH, Münster
Detailsuche

Da die ausgeführten Webassembly-Module im Ring 0 laufen, ermögliche das den Zugriff auf Systemaufrufe über normale Funktionsaufrufe. Die Entwickler sehen die Vorzüge dieser Konstellation darin, dass Kontextwechsel zwischen User- und Kernelspace damit vermieden werden können, ebenso wie der Mehraufwand beim Tausch der Seitentabellen. Webserver oder Fuse-basierte Dateisysteme, die Systemaufrufe einsetzen, seien so deutlich leistungsfähiger, vor allem in einem Post-Spectre/Meltdown-Szenario, das den Mehraufwand der neuen Verwaltung der Seitentabellen miteinbezieht, die sogenannte Page-Table-Isolation (PTI).

Derzeit verwende die Software bei der Nutzung mit dem Linux-Kernel jedoch noch vmalloc(), was zwar Seitenauslagerungen auf die Festplatte vermeide, aber Systeme auch anfällig für lokale DoS-Angriffe mache. Eine Speichernutzungsbegrenzung für das virtuelle Gerät /dev/wasm soll das künftig jedoch verhindern.

Auf POSIX-Systemen lasse sich Wasmjit zudem im Userspace ausführen, um Webassembly-Module zu nutzen, ohne den kompletten Browser betreiben zu müssen. Die Software steht unter der MIT-Lizenz und läuft aktuell auf POSIX-konformen x86_64-Systemen wie Linux, OS X und BSD. Wer die Software in ihrem frühen Stadium einsetzen möchte, braucht neben einem C-Compiler und Make ein Emscripten SDK sowie, unter Linux, die passenden Kernel-Header. Mehr Infos und Anleitungen liefert eine Übersicht auf Github.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Frommer Legal
Große Abmahnwelle wegen Filesharing in Deutschland

Viele Menschen suchen derzeit Hilfe bei einer Anwaltskanzlei, weil sie wegen angeblich illegalem Filesharing abgemahnt wurden.

Frommer Legal: Große Abmahnwelle wegen Filesharing in Deutschland
Artikel
  1. Kriminalität: Dresdnerin wegen Mordauftrag im Darknet angeklagt
    Kriminalität
    Dresdnerin wegen Mordauftrag im Darknet angeklagt

    Eine 41-Jährige aus Dresden ist angeklagt, im Darknet einen Mord in Auftrag gegeben zu haben. Für die Ermordung der neuen Freundin ihres Ex-Mannes soll sie 0,2 Bitcoin geboten haben.

  2. Fernseher zum Bestpreis beim Amazon Prime Day
     
    Fernseher zum Bestpreis beim Amazon Prime Day

    Neben vielen anderen interessanten Produkten gibt es viele hochqualitative Fernseher zu niedrigen Preisen.
    Ausgewählte Angebote des E-Commerce-Teams

  3. Ärger um Drachenlord: Dorf verhängt Allgemeinverfügung wegen umstrittenem Youtuber
    Ärger um Drachenlord
    Dorf verhängt Allgemeinverfügung wegen umstrittenem Youtuber

    Seit Jahren ist das Dorf Altschauerberg Schauplatz von Provokationen gegen den Youtuber Rainer Winkler. Jetzt sollen neue Gesetze die Ordnung wiederherstellen.

gunterkoenigsmann 28. Sep 2018

Wenn wir Treiber in WebAssembly schreiben, um Kontextwechsel zu vermeiden, die langsam...

Noren 27. Sep 2018

Ich werde es mir auch noch genauer ansehen, allerdings befürchte ich das mehr möglich ist...

derh0ns 27. Sep 2018

Genial

1e3ste4 27. Sep 2018

Das war ein Betriebssystem, bei dem Kernel und Userland im Ring 0 laufen, allerdings der...


Folgen Sie uns
       


Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Schnäppchen • Amazon Prime Day nur noch heute • SSD (u. a. Samsung 980 Pro 1TB PCIe 4.0 140,19€) • Gaming-Laptops von Razer & MSI • Crucial 32GB Kit DDR4-4000 269,79€ • 30% auf Warehouse • Primetime bei Saturn (u. a. Switch Lite 166,24€) • Gaming-Chairs • MM Gönn dir Dienstag [Werbung]
    •  /