Das Unternehmen Microsoft Auf der gerade stattfindenden Konferenz Microsoft Build 2019 wurde das aktualisierte WSL2 (Windows Subsystem for Linux) vorgestellt, das zum Ausführen von Linux-Executable-Dateien in Windows gedacht ist. Schlüssel- merkmal der zweiten Ausgabe ist die Bereitstellung eines vollständigen Linux-Kernels anstelle einer On-the-fly-Schicht, die Linux-Systemaufrufe in Windows-Systemaufrufe übersetzt.
Die Testversion von WSL2 wird Ende Juni in experimentellen Builds angeboten. Die Unterstützung von WSL1 auf Grundlage eines Emulators bleibt bestehen und die Benutzer können es parallel zu WSL2 nutzen. Um den Linux-Kernel in der Windows-Umgebung auszuführen, wird eine leichtgewichtige virtuelle Maschine eingesetzt, die bereits in Azure verwendet wird.
Im Rahmen von WSL2 für Windows 10 wird ein Komponenten mit dem Standard-Linux-Kernel 4.19 angeboten. Mit der Veröffentlichung von Korrekturen für den LTS-Zweig 4.19 wird der Kernel für WSL2 kontinuierlich über den Windows Update-Mechanismus aktualisiert und in der Infrastruktur der kontinuierlichen Integration von Microsoft getestet. Der in WSL2 verwendete Kernel ist der gleiche wie der, der in der Azure-Infrastruktur eingesetzt wird, was die Wartung vereinfacht.
Alle für die Integration des Kernels mit WSL vorbereiteten Änderungen werden unter der GPLv2-Lizenz veröffentlicht und upstream weitergegeben. Die vorbereiteten Patches enthalten Optimierungen zur Reduzierung der Kernel-Startzeit, des Speicherverbrauchs und zur Beibehaltung des minimal notwendigen Satzes von Treibern und Subsystemen im Kernel. Der vorgeschlagene Kernel kann als transparente Alternative zur emulierenden Schicht, die in WSL1 angeboten wird, fungieren. Das Vorhandensein des Quellcodes ermöglicht es Enthusiasten, ihre eigenen Kernel-Builds für WSL2 zu erstellen, für die erforderliche Anweisungen bereitgestellt werden.
Die Verwendung des Standardkerns mit Optimierungen aus dem Azure-Projekt ermöglicht vollständige Kompatibilität mit Linux auf der Ebene der Systemaufrufe und sorgt für nahtlosen Betrieb von Docker-Containern in Windows sowie die Unterstützung von Dateisystemen auf Basis des FUSE-Mechanismus. Darüber hinaus wurde die Leistung beim Ein-/Ausgabe und bei Dateisystemoperationen in WSL2 erheblich gesteigert, die zuvor ein Engpass in WSL1 darstellten. Beispielsweise ist WSL2 beim Entpacken eines komprimierten Archivs 20 Mal schneller als WSL1, und bei der Ausführung von Operationen
wie «git clone», «npm install», «apt update» und «apt upgrade» 2-5 Mal schneller.
Trotz der Bereitstellung des Linux-Kernels wird WSL2 wie zuvor kein fertiges Set von Komponenten für den Benutzerspace bereitstellen. Diese Komponenten werden separat installiert und basieren auf den Builds verschiedener Distributionen. Zum Beispiel für die Installation in WSL im Microsoft Store. Bauten , , und . Für die Interaktion mit dem in Windows angebotenen Linux-Kernel ist es erforderlich, ein kleines Initialisierungsskript in die Distribution einzufügen, das den Bootprozess ändert. Das Unternehmen Canonical hat bereits die Absicht angekündigt, vollständige Unterstützung für die Verwendung von Ubuntu auf WSL2 zu gewährleisten.
Zusätzlich kann vermerkt werden von Microsoft emulierte Terminalanwendung , deren Code unter der MIT-Lizenz verbreitet wird. Zusammen mit dem Terminal wurde auch der Code der ursprünglichen Befehlszeilenschnittstelle conhost.exe offen gelegt, die in Windows verwendet wird und die Windows Console API umsetzt. Das Terminal bietet eine Schnittstelle auf Basis von Tabs und teilbaren Fenstern, unterstützt vollständig Unicode und Escape-Sequenzen für farbige Ausgaben, ermöglicht die Änderung von Designs und das Hinzufügen von Erweiterungen, unterstützt virtuelle Konsolen (PTY) und verwendet DirectWrite/DirectX zur Beschleunigung der Textdarstellung. Im Terminal können die Shells Command Prompt (cmd), PowerShell und WSL verwendet werden. Im Sommer wird das neue Terminal für Windows-Nutzer über den Microsoft Store verfügbar sein.
Quelle: opennet.ru
