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. Programmierer / Softwareentwickler (w/m/d)
    Haux-Life-Support GmbH, Karlsbad
  2. Konzernexperte (w/m/d) Data Backbone Trading
    EnBW Energie Baden-Württemberg AG, Karlsruhe
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


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...



Aktuell auf der Startseite von Golem.de
Windows 11
Geplante Obsoleszenz ist schlecht, Microsoft!

Kunden ärgern sich darüber, dass ihre vier Jahre alten Prozessoren bereits kein Windows 11 mehr unterstützen. Zu Recht.
Ein IMHO von Oliver Nickel

Windows 11: Geplante Obsoleszenz ist schlecht, Microsoft!
Artikel
  1. Malware, Catan, OHV: Erste Linux-Malware für Windows Subsystem entdeckt
    Malware, Catan, OHV
    Erste Linux-Malware für Windows Subsystem entdeckt

    Sonst noch was? Was am 20. September 2021 neben den großen Meldungen sonst noch passiert ist, in aller Kürze.

  2. Forschung: Weiße Farbe für den Klimaschutz
    Forschung
    Weiße Farbe für den Klimaschutz

    Ein Forschungsteam der US-Universität Purdue will die weißeste Farbe der Welt entwickelt haben und bewirbt sie als ein Mittel gegen die Klimakrise.

  3. Sjömärke: Ikea integriert drahtloses Laden in normale Tische
    Sjömärke
    Ikea integriert drahtloses Laden in normale Tische

    Ikea hat ein Qi-Ladegerät vorgestellt, um Tische mit drahtloser Ladetechnik zu versorgen. Es wird unten an der Tischplatte angebracht.

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
    Daily Deals • MM-Prospekt (u. a. Asus Gaming-Notebook 17" RTX 3050 1.099€) • PCGH-PC mit Ryzen 5 3600 & RTX 3060 999€ • Samsung 970 Evo Plus 1TB 99€ • Saturn Hits 2021 (u. a. Philips 55" OLED 120Hz 1.849€) • Corsair RGB 16GB Kit 3600MHz 87,90€ • Dualsense Schwarz + Deathloop 99,99€ [Werbung]
    •  /