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

Stellenmarkt
  1. DevOps Engineer (m/w/d) Testautomation Platform
    ING Deutschland, Frankfurt, Nürnberg
  2. IT-Sicherheitsadministrator (m/w/d)
    Mainova AG, Frankfurt am Main
Detailsuche

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.

Golem Akademie
  1. Linux-Shellprogrammierung: virtueller Vier-Tage-Workshop
    8.–11. März 2022, Virtuell
  2. Webentwicklung mit React and Typescript: virtueller Fünf-Halbtage-Workshop
Weitere IT-Trainings

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


Aktuell auf der Startseite von Golem.de
Lego Star Wars UCS AT-AT aufgebaut
"Das ist kein Mond, das ist ein Lego-Modell"

Ganz wie der Imperator es wünscht: Der Lego UCS AT-AT ist riesig und imposant - und eines der besten Star-Wars-Modelle aus Klemmbausteinen.
Ein Praxistest von Oliver Nickel

Lego Star Wars UCS AT-AT aufgebaut: Das ist kein Mond, das ist ein Lego-Modell
Artikel
  1. Kryptowährung im Fall: Bitcoin legt rasante Talfahrt hin
    Kryptowährung im Fall
    Bitcoin legt rasante Talfahrt hin

    Am Samstag setzte sich der Absturz des Bitcoin fort. Ein Bitcoin ist nur noch 34.200 US-Dollar wert. Auch andere Kryptowährungen machen Verluste.

  2. eStream: Airstream-Wohnwagen mit eigenem Elektroantrieb
    eStream
    Airstream-Wohnwagen mit eigenem Elektroantrieb

    Der Wohnwagen Airstream eStream besitzt einen eigenen Elektroantrieb nebst Akku. Das entlastet das Zugfahrzeug und eröffnet weitere Möglichkeiten.

  3. Andromeda: Dieses Microsoft-Smartphone-Betriebssystem erschien nie
    Andromeda
    Dieses Microsoft-Smartphone-Betriebssystem erschien nie

    Erstmals ist ein Blick auf Andromeda möglich - das Smartphone-Betriebssystem, das Microsoft bereits vor einigen Jahren eingestellt hat.

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 • Corsair Vengeance RGB RT 16-GB-Kit DDR4-4000 120,95€ • Alternate (u.a. AKRacing Master Pro Deluxe 449,98€) • Seagate FireCuda 530 1 TB (PS5) 189,90€ • RTX 3070 989€ • The A500 Mini 189,90€ • Intel Core i9 3.7 459,50€ • RX 6700 12GB 869€ • MindStar (u.a. 1TB SSD 69€) [Werbung]
    •  /