Microsoft kündigte auf der BUILD 2016 einen großen Schritt an: Ubuntu Bash wird in Windows integriert. Dank des Windows Subsystem for Linux (WSL) können native Linux ELF64 Binaries in Windows ausgeführt werden. Nun erklärt Microsoft in einem Blogbeitrag diese Lösung.
Ganz neu ist die Idee nicht. So konnte schon Windows NT POSIX, OS/2 und Win32 Subsysteme aufweisen. Genau diese Entwicklung hat nun in die Entstehung von WSL eingewirkt und einiges an Investment erspart.
Vereinfachte Erklärung
Möchte der Nutzer eine Linux Anwendung starten, wird zunächst die Bash.exe als Standard Windows Anwendung gestartet. Diese erstellt dann die Linux Session. Da die Linux-Bibliotheken nativ vorliegen, müssen Ein- und Ausgaben übersetzt werden und eine Linux Instanz erstellt bzw ein Linux Kernel emuliert werden. Alle diese Schritte finden im 1. Teil des WSL statt: im User Mode.
Da die unmodifizierten Linux-Bibliotheken in Pico Prozessen bereitgestellt werden, können Linux Systemaufrufe direkt in den Windows Kernel geleitet werden. Das ist der 2. Teil des WSL: Kernel Mode.
Die lxss.sys und lxcore.sys Treiber übernehmen dank der Pico Prozesse und Treiber die Übersetzung der Linux Systemaufrufe in NT APIs und emulieren den Linux Kernel.
Man kann es grob mit einer virtuellen Maschine vergleichen: Der Nutzer startet nur eine Anwendung und er bekommt ein ganzes System virtuell zur Ein- und Ausgabe.
Der Vergleich mit einer VM ist aber schon sehr vereinfacht. 😉 Was sich alleine schon am Zugriff auf die jeweiligen Dateisysteme zeigt. Aber wurscht. 🙂
Ich persönlich bin froh, dass es endlich eine native Linux Shell gibt. Das erleichtert einige meiner Aufgaben um ein vielfaches. Perfekt wäre, wenn sich Apache, PHP und MySQL einwandfrei installieren ließen und dann tatsächlich auch von Windows zugreifbar wären. Das ist bisher leider nicht möglich. Aber das Linux Subsystem befindet sich auch noch in einem frühen Stadium, von daher gebe ich die Hoffnung noch nicht auf. 😉
Moin. Ja, da gebe ich Dir Recht. Ich wollte einen sehr einfachen Vergleich ohne weitere technische Details für Nutzer herstellen, die vielleicht nicht so firm sind.
Und zur Hoffnung: Da bin ich ganz bei Dir!