Subsystem für Linux: Microsoft entschlackt den Kernel für Ubuntu on Windows

Damit die Bash und der Ubuntu-Userspace auf Windows 10 laufen, hat Microsoft seinen Kernel mit sogenannten Pico-Prozessen deutlich entschlackt. Außerdem nutzt das Subsystem für Linux zwei neue Dateisysteme, wie das Unternehmen erklärt.

Artikel veröffentlicht am ,
Das WSL nutzt wenig bekannte Funktionen des Windows-Kernels.
Das WSL nutzt wenig bekannte Funktionen des Windows-Kernels. (Bild: Andreas Sebayang/Golem.de)

Bisher waren kaum technische Details zu Windows Subsystem für Linux (WSL) bekannt, das Microsoft nutzt, um die Bash und den Ubuntu-Userspace unverändert auf Windows 10 laufen zu lassen. Das Unternehmen will das mit einer Artikelserie nun ändern und erklärt zu Beginn die grundlegenden Konzepte für das WSL, wozu sogenannte Pico-Prozesse gehören sowie neue Treiber und Dateisysteme.

Isolierte Prozesse und beschränkte Kernel-API

Die Pico-Prozesse sind aus dem Forschungsprojekt Drawbridge hervorgegangen, dessen Konzepte nun unter anderem als Sandbox-Lösung in Microsofts Cloud-Dienst Azure verwendet werden. Die Pico-Prozesse verzichten dabei auf die Nutzung und Bereitstellung sämtlicher unter Windows sonst üblichen Traps für andere Betriebssystem-Dienste, die typischerweise vom Win32-Subsystem bereitgestellt werden.

  • Schematischer Aufbau des WSL (Bild: Microsoft)
  • Ein Pico-Prozess auf dem NT-Kernel (Bild: Microsoft)
  • Ein Pico-Prozess, der Windows-Dienste enthält. Im WSL wird darauf jedoch verzichtet. (Bild: Microsoft)
Schematischer Aufbau des WSL (Bild: Microsoft)

Das heißt, Pico-Prozesse laufen direkt auf dem vergleichsweise kleinen NT-Kernel und bekommen zudem einen isolierten Adressraum zugewiesen. Darüber hinaus können diese Prozesse nur festgelegte Systemaufrufe (Syscalls) nutzen, die im Fall des WSL von einem mit dem Prozess assoziierten Treiber verarbeitet werden.

Die zum WSL gehörenden Windows-Kernel-Treiber Lxcore und Lxss werden genutzt, um die Linux-Kernel-API zu emulieren. Sofern möglich, übersetzt der Lxcore-Treiber einen Linux-Syscall dann in einen entsprechenden Windows-Syscall. Gibt es keine solche Entsprechung, muss der Lxcore-Treiber den Syscall selbst ausführen.

Anwendungen des Ubuntu-Userspace im WSL werden als Pico-Prozesse ausgeführt. Verwaltet wird dies von einem speziellen Windows-Dienst in Zusammenarbeit mit den Kernel-Treiber. Sämtliche Prozesse, Threads und Laufzeitdaten einer solchen Instanz werden dazu in einer gemeinsamen Datenstruktur im Arbeitsspeicher repräsentiert. Sobald der Windows-Dienst beendet wird, werden auch sämtliche Prozesse der laufenden Instanz, also die Ubuntu-Anwendungen, beendet.

Zwei neue Dateisysteme

Damit die vom Linux-Kernel unterstützten Optionen für Dateisysteme auch auf dem WSL genutzt werden, hat Microsoft das VolFS erstellt. Dieses unterstützt Berechtigungen, die per chmod geändert werden können, symbolische Verknüpfungen, Dateinamen mit Zeichen, die unter Windows eigentlich nicht genutzt werden können, sowie Case Sensitivity, also die strikte Unterscheidung von Groß- und Kleinschreibung. Die Ordner des Ubuntu-Systems sowie Home-Verzeichnisse nutzen VolFS.

Für die Interoperabilität mit dem Windows-System existiert das Dateisystem DriveFS. Dateinamen müssen hier wie in Windows gestaltet sein, Case Sensitivity wird nicht unterstützt ebenso wie einige weitere Funktionen, die in Linux-Dateisystemen bereitstehen. DriveFS wird zum Einhängen der Windows-Festplatten genutzt.

Microsoft will künftig noch weitere technische Details zu dem WSL bekanntgeben.

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


emarci 13. Aug 2016

Das wird oft missverstanden. Es geht nicht darum etwas billiger zu machen. Das eine hat...

smurfy 27. Apr 2016

Ja, Windows hat nun also dahingehend aufgeholt, was seit Jahrzehnten unter Unix/Linux...

t_e_e_k 26. Apr 2016

Es dürfte sich tatsächlich um Wrapper handeln. Dieser wird die System Pfade umleiten, die...



Aktuell auf der Startseite von Golem.de
20 Jahre Far Cry
Das deutsche Grafikwunder

Mit Far Cry feierte der deutsche Entwickler Crytek 2004 ein viel beachtetes Debüt. Kann der Südsee-Shooter auch 20 Jahre später noch beeindrucken?
Von Benedikt Plass-Fleßenkämper

20 Jahre Far Cry: Das deutsche Grafikwunder
Artikel
  1. Softwareentwicklung: Events und APIs mit DDD entwerfen
    Softwareentwicklung
    Events und APIs mit DDD entwerfen

    Anforderungen an Software ändern sich schneller als je zuvor. Damit Entwickler da mitkommen, sollten sie Domain-driven Design nutzen. Wie das geht, zeigen wir an einem Beispiel.
    Von Annegret Junker

  2. Ausländische Fachkräfte: Intel-HR-Manager fordert Willkommenskultur in Magdeburg
    Ausländische Fachkräfte
    Intel-HR-Manager fordert Willkommenskultur in Magdeburg

    Die Politik müsse sich laut Intel bei der Integration von ausländischen Fachkräften mehr anstrengen. Diese könnten sich das Land aussuchen, indem sie arbeiten.

  3. Elektromobilität: Warum der Elektroauto-Hype erst anfängt
    Elektromobilität
    Warum der Elektroauto-Hype erst anfängt

    In den vergangenen Wochen konnte man den Eindruck gewinnen, als sei das Elektroauto schon abgeschrieben. Doch das scheint eine typisch deutsche Debatte zu sein.
    Eine Analyse von Friedhelm Greis

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 • Palit 4070 Super 579,95€ • Xbox-Controller ab 39,99€ • AVM Fritzbox + Repeater -30% • DVDs & Blu-rays -31% • EA -75% • Ubisoft -50% • MindStar: AMD Ryzen 9 7900 339€, MSI RTX 4080 Super Ventus 3X OC 1.099€ • Gratis-Zugaben PS5 Slim & Nintendo Switch OLED beim TV-Kauf [Werbung]
    •  /