Microsoft verrät, wie sein Windows 10-Linux-Subsystem funktioniert
Video: Windows 10 Linux Subsystem - Einrichtung und Verwendung 2024
Mit Bash on Ubuntu on Windows können native Linux-ELF64-Binärdateien unter Windows über das Windows-Subsystem für Linux (WSL) ausgeführt werden. Obwohl viele Leute von der Ankündigung von Bash on Ubuntu schockiert waren, ist es erwähnenswert, dass es neue Türen für die Kompatibilität zwischen verschiedenen Betriebssystemen öffnet. Microsoft macht einen weiteren Schritt nach vorne und zeigt, wie die WSL funktioniert, damit wir besser verstehen können, wie die beiden Systeme miteinander kommunizieren.
WSL wurde vom Microsoft Windows Kernel-Team erstellt und enthält sowohl Komponenten für den Benutzermodus als auch für den Kernelmodus. Genauer gesagt besteht das System aus:
- Ein Session Manager-Dienst im Benutzermodus, der den Lebenszyklus der Linux-Instanz verwaltet
- Pico-Provider-Treiber (lxss.sys, lxcore.sys), deren Aufgabe es ist, einen Linux-Kernel durch Übersetzen von Linux-Systemaufrufen zu emulieren
- Pico verarbeitet das Hosting des unveränderten Benutzermodus Linux (z. B. / bin / bash).
Die Verbindung zwischen den drei Komponenten wird wie folgt beschrieben:
Es ist der Raum zwischen den Linux-Binärdateien im Benutzermodus und den Windows-Kernelkomponenten, in dem die Magie geschieht. Indem wir unveränderte Linux-Binärdateien in Pico-Prozessen platzieren, können Linux-Systemaufrufe in den Windows-Kernel geleitet werden. Die Treiber lxss.sys und lxcore.sys übersetzen die Linux-Systemaufrufe in NT-APIs und emulieren den Linux-Kernel.
Die größte Herausforderung besteht darin, die beiden Systeme zusammenarbeiten zu lassen:
WSL führt unveränderte Linux-ELF64-Binärdateien aus, indem eine Linux-Kernelschnittstelle über dem Windows NT-Kernel virtualisiert wird. Eine der bereitgestellten Kernel-Schnittstellen sind Systemaufrufe (Syscalls). Ein Syscall ist ein vom Kernel bereitgestellter Dienst, der vom Benutzermodus aus aufgerufen werden kann. Sowohl der Linux-Kernel als auch der Windows NT-Kernel setzen mehrere hundert Systemaufrufe für den Benutzermodus aus, haben jedoch eine andere Semantik und sind im Allgemeinen nicht direkt kompatibel. Zum Beispiel enthält der Linux-Kernel Dinge wie Fork, Open und Kill, während der Windows NT-Kernel über die vergleichbaren Funktionen NtCreateProcess, NtOpenFile und NtTerminateProcess verfügt.
Das Windows-Subsystem für Linux enthält Kernelmodustreiber (lxss.sys und lxcore.sys), die für die Verarbeitung von Linux-Systemaufrufanforderungen in Abstimmung mit dem Windows NT-Kernel verantwortlich sind. Die Treiber enthalten keinen Code aus dem Linux-Kernel, sondern sind eine Reinraum-Implementierung von Linux-kompatiblen Kernel-Schnittstellen. Unter nativem Linux wird ein Syscall, der aus einer ausführbaren Datei im Benutzermodus erstellt wird, vom Linux-Kernel verarbeitet. Wenn in WSL ein Syscall von derselben ausführbaren Datei ausgeführt wird, leitet der Windows NT-Kernel die Anforderung an lxcore.sys weiter. Wenn möglich, übersetzt lxcore.sys den Linux-Systemaufruf in den entsprechenden Windows NT-Aufruf, der seinerseits das schwere Heben übernimmt.
Angesichts des Interesses von Microsoft an Open-Source-Plattformen fragten sich viele, ob der Technologieriese große Linux-Unternehmen wie Canonical, das Unternehmen hinter dem Ubuntu-Betriebssystem, übernehmen sollte. Obwohl Microsoft und Canonical bei Open-Source-Software zusammengearbeitet haben, haben beide keine Kommentare zu dieser Möglichkeit abgegeben.
Wenn Sie daran interessiert sind, wie sich die Linux-Windows-Interaktion entwickelt, besuchen Sie den Microsoft-Blog. Das Team versprach, dass weitere Blogbeiträge zu diesem Thema folgen würden.
Foxiebro Malware: Wie es funktioniert und wie man es entfernt
Wenn Sie mit dem Ausdruck "Ein Wolf im Schafspelz" vertraut sind, sind Sie schon halb da, wenn Sie verstehen, was Foxiebro ist und wie gefährlich es sein kann. Der Adware-Browser-Modifikator ist eines der betrügerischsten Schadprogramme, denen Sie im täglichen Gebrauch begegnen werden. Und Foxiebro ist ganz oben. Zu diesem Zweck, …
Gamarue Malware: Wie es funktioniert und wie man es entfernt
Gamarue ist eine invasive und eine der schwerwiegendsten Malware-Arten. Das von Microsoft Software Security als Win32 / Gamarue Malware bezeichnete Programm übernimmt buchstäblich Ihren Computer. Die Malware kann die Sicherheitseinstellungen Ihres PCs ändern sowie schädliche Dateien aus dem Internet herunterladen und auf Ihrem Computer installieren. Diese Familie von Malware ...
Bethesda schneidet mittlere Hacker aus - verrät Kreditkartendaten
Bethesda entscheidet sich dafür, besser als Dell und Quora vorzugehen und Benutzerinformationen weiterzugeben, anstatt Hacker dazu zu bringen, dafür zu arbeiten. Lesen Sie weiter, um mehr zu erfahren ...