Microsoft avslöjar hur dess Windows 10 linux subsystem fungerar
Video: Det här är Isabella Larka - Bachelor (TV4) 2024
Bash på Ubuntu på Windows gör det möjligt för ursprungliga Linux ELF64-binärer att köras på Windows via Windows Subsystem for Linux (WSL). Även om många människor blev chockade av Bash på Ubuntu-tillkännagivandet, är det värt att nämna att det öppnar nya dörrar för kompatibilitet mellan olika operativsystem. Microsoft tar ytterligare ett steg framåt och avslöjar hur dess WSL fungerar så att vi bättre kan förstå hur de två systemen kommunicerar med varandra.
WSL skapades av Microsoft Windows Kernel-teamet och innehåller både användarläge och kärnläge-komponenter. Mer specifikt består systemet av:
- en användarläge session manager service som hanterar livscykeln för Linux-instansen
- Pico-leverantörsdrivrutiner (lxss.sys, lxcore.sys) vars roll är att emulera en Linux-kärna genom att översätta Linux-syscalls
- Pico behandlar värd för det omodifierade användarläget Linux (t.ex. / bin / bash).
Anslutningen mellan de tre komponenterna beskrivs på följande sätt:
Det är utrymmet mellan användarläget Linux-binärer och Windows-kärnkomponenter där magin händer. Genom att placera omodifierade Linux-binärer i Pico-processer gör vi det möjligt för Linux-systemsamtal att dirigeras in i Windows-kärnan. Drivrutinerna lxss.sys och lxcore.sys översätter Linux-systemsamtal till NT-API: er och emulerar Linux-kärnan.
Huvudutmaningen i processen är att få de två systemen att fungera tillsammans:
WSL kör omodifierade Linux ELF64-binärer genom att virtualisera ett Linux-kärngränssnitt ovanpå Windows NT-kärnan. Ett av kärngränssnitten som den exponerar är systemsamtal (syscalls). En syscall är en tjänst som tillhandahålls av kärnan som kan anropas från användarläge. Både Linux-kärnan och Windows NT-kärnan utsätter flera hundra syscalls för användarläge, men de har olika semantik och är i allmänhet inte direkt kompatibla. Till exempel innehåller Linux-kärnan saker som gaffel, öppna och döda medan Windows NT-kärnan har jämförbara NtCreateProcess, NtOpenFile och NtTerminateProcess.
Windows-subsystemet för Linux inkluderar drivrutiner för kärnläge (lxss.sys och lxcore.sys) som är ansvariga för att hantera Linux-systemanropsförfrågningar i samordning med Windows NT-kärnan. Drivrutinerna innehåller inte kod från Linux-kärnan utan är istället en renrumsimplementering av Linux-kompatibla kärngränssnitt. När en syscall görs från ett externt körbart användarläge hanteras det av Linux-kärnan. När WSL skapas från samma körbara Windows NT-kärna vidarebefordrar begäran till lxcore.sys. Om möjligt översätter lxcore.sys Linux-syscall till motsvarande Windows NT-samtal som i sin tur gör det tunga lyft.
Med hänsyn till Microsofts intresse för open source-plattformar undrade många om teknikjätten skulle förvärva stora Linux-fokuserade företag som Canonical, företaget bakom Ubuntu-operativsystemet. Även om Microsoft och Canonical samarbetade om öppen källkodsprogram, lämnade ingen av kommentarerna om denna möjlighet.
Om du är intresserad av hur Linux-Windows-interaktionen utvecklas, gå till Microsofts blogg. Teamet lovade att fler blogginlägg om detta ämne skulle följa.
Hur man hanterar kopiera den här filen utan dess meddelanden om egenskaper [fast]
För att fixa Är du säker på att du vill kopiera den här filen utan dess meddelanden om egenskaper, rekommenderas att du formaterar din destinationsenhet som NTFS eller exFAT.
Huawei avslöjar matboken, dess första 2-i-1 Windows 10-enhet [mwc 2016]
Huawei avslöjade precis MateBook-hybrid på Mobile World Congress i Barcelona, idag. MateBook är Huawies första 2-i-1 Windows 10-enhet någonsin och syftar till att komplettera med kända tillverkare, som Apple, Lenovo eller Samsung. Vi har redan sagt att folk tror att Huawei kommer att leverera en ny Windows 10-enhet med en ...
Alcatel avslöjar plus 10, dess första Windows 10 2-i-1-surfplatta [mwc 2016]
Alcatel träffade scenen i Barcelona även två dagar före den officiella början av Mobile World Congress 2016. Företaget sa att det vill vara mer konkurrenskraftigt på marknaden för smartphones som prissätts mellan $ 200 och $ 400, men meddelade också ett par nya enheter. En av enheterna som Alcatel avslöjade igår ...