Microsoft onthult hoe het Windows 10 Linux-subsysteem werkt
Video: Windows 10 Bash & Linux Subsystem Setup 2024
Met de Bash op Ubuntu op Windows kunnen native Linux ELF64-binaire bestanden op Windows worden uitgevoerd via het Windows Subsysteem voor Linux (WSL). Hoewel veel mensen geschokt waren door de aankondiging van Bash on Ubuntu, is het vermeldenswaard dat het nieuwe deuren opent voor de compatibiliteit tussen verschillende besturingssystemen. Microsoft zet nog een stap vooruit en onthult hoe zijn WSL werkt, zodat we beter kunnen begrijpen hoe de twee systemen met elkaar communiceren.
WSL is gemaakt door het Microsoft Windows Kernel-team en bevat componenten voor zowel de gebruikersmodus als de kernelmodus. Meer specifiek bestaat het systeem uit:
- een sessiebeheerservice in de gebruikersmodus die de levenscyclus van een Linux-exemplaar afhandelt
- Pico-providerstuurprogramma's (lxss.sys, lxcore.sys) wiens rol het is om een Linux-kernel te emuleren door Linux-syscalls te vertalen
- Pico-processen hosten de ongewijzigde gebruikersmodus Linux (bijv. / Bin / bash).
De verbinding tussen de drie componenten wordt als volgt beschreven:
Het is de ruimte tussen de Linux binaries in de gebruikersmodus en de Windows-kernelcomponenten waar de magie gebeurt. Door ongewijzigde Linux-binaire bestanden in Pico-processen te plaatsen, kunnen Linux-systeemaanroepen naar de Windows-kernel worden geleid. De stuurprogramma's lxss.sys en lxcore.sys vertalen de Linux-systeemaanroepen naar NT API's en emuleren de Linux-kernel.
De belangrijkste uitdaging in het proces is om de twee systemen samen te laten werken:
WSL voert ongewijzigde Linux ELF64-binaire bestanden uit door een Linux-kernelinterface te virtualiseren bovenop de Windows NT-kernel. Een van de kernel-interfaces die het blootstelt, zijn systeemaanroepen (syscalls). Een syscall is een service van de kernel die vanuit de gebruikersmodus kan worden aangeroepen. Zowel de Linux-kernel als de Windows NT-kernel stellen honderden syscalls bloot aan de gebruikersmodus, maar ze hebben verschillende semantiek en zijn over het algemeen niet direct compatibel. De Linux-kernel bevat bijvoorbeeld dingen als fork, open en kill, terwijl de Windows NT-kernel de vergelijkbare NtCreateProcess, NtOpenFile en NtTerminateProcess heeft.
Het Windows-subsysteem voor Linux bevat stuurprogramma's voor de kernelmodus (lxss.sys en lxcore.sys) die verantwoordelijk zijn voor het afhandelen van Linux-systeemaanroepverzoeken in coördinatie met de Windows NT-kernel. De stuurprogramma's bevatten geen code van de Linux-kernel, maar zijn in plaats daarvan een cleanroom-implementatie van Linux-compatibele kernelinterfaces. Op native Linux, wanneer een syscall wordt gemaakt van een uitvoerbaar in gebruikersmodus, wordt het afgehandeld door de Linux-kernel. Wanneer op WSL een syscall wordt gemaakt van hetzelfde uitvoerbare bestand, stuurt de Windows NT-kernel het verzoek door naar lxcore.sys. Waar mogelijk vertaalt lxcore.sys de Linux syscall naar de equivalente Windows NT-aanroep die op zijn beurt het zware werk doet.
Rekening houdend met de belangstelling van Microsoft voor open-sourceplatforms, vroegen veel mensen zich af of de technologiegigant grote op Linux gerichte bedrijven zou moeten overnemen, zoals Canonical, het bedrijf achter het Ubuntu-besturingssysteem. Hoewel Microsoft en Canonical hebben samengewerkt aan open-source software, hebben geen van beide opmerkingen over deze mogelijkheid uitgebracht.
Als je geïnteresseerd bent in hoe de Linux - Windows-interactie evolueert, ga dan naar Microsoft's Blog. Het team beloofde dat er meer blogberichten over dit onderwerp zouden volgen.
Foxiebro-malware: hoe het werkt en hoe het te verwijderen
Als je bekend bent met de uitdrukking "Een wolf in de schaapskleren", begrijp je al half wat Foxiebro is en hoe gevaarlijk het kan zijn. De adware-browser-modifier is een van de meest bedrieglijke kwaadaardige programma's die je ooit zult tegenkomen in het dagelijks gebruik. En Foxiebro staat daar bovenaan. Met dat doel, …
Keygen-malware: wat het is, hoe het werkt en hoe het te verwijderen
Illegale softwareversies gaan vaak gepaard met beveiligingsbedreigingen. Meestal hebben ze secundaire applicaties nodig om te draaien of te registreren. Een daarvan is Keygen, een eenvoudige applicatie die een zak vol malware of spyware recht voor je deur kan brengen. Het is dus onze bedoeling vandaag uit te leggen wat Keygen.exe is, ...
Ronggolawe-malware: wat het is, hoe het werkt, hoe het te voorkomen
Een paar jaar geleden was ransomware schaars en niet zo'n grote bedreiging als tegenwoordig. Na de crisis van Petya en WannaCry zagen we welk potentieel het heeft en mensen begonnen plotseling te zorgen. Ronggolawe is niet zo wijdverbreid als Petya en WannaCry, maar het is nog steeds een enorme bedreiging voor alle webgebaseerde bedrijven en websites. ...