Linux -kjernen i Windows Top 10

Linux -kjernen i Windows Top 10
Hvordan fungerer det nye Windows -undersystemet for Linux (V2)?

Microsoft kunngjorde nylig at de snart vil sende en Linux -kjerne som er integrert rett i Windows 10. Dette vil tillate utviklere å utnytte Windows 10 -plattformen når de utvikler applikasjoner for Linux. Dette er faktisk neste trinn i utviklingen av Windows Subsystem for Linux (WSL). La oss gjennomgå WSL versjon 1 før vi kommer inn i den strikkede grisete Linux-kjernen Intergation og hva det betyr.

Hvis du vil komme i gang med WSL (V1) her er en guide for det.

WSL versjon1

Windows -undersystemet for Linux skal virkelig kalles et Linux -undersystem for Windows. Det tilbyr en driver (et delsystem) for Windows OS, som oversetter Linux -systemet ringer til Native Windows 10 -systemanrop som NT -kjernen forstår.

Dette skaper en noe troverdig illusjon for Linux -binærene som de faktisk løper på toppen av en Linux -kjerne! Dette fungerer bra nok til at du ikke bare kan kjøre enkle 64-biters binærfiler samlet for Linux, men du kan kjøre et helt brukerland (a.k.en en Linux -distribusjon som Debian eller Ubuntu) på toppen av WSL V1. Så når du installerer Ubuntu fra Microsoft Store, henter den bare Ubuntu Userland -binærene som kanoniske skip for Microsofts WSL V1 -miljø.

WSL V1 er imidlertid fortsatt langt fra perfekt. Visse semantikk som et Linux -system kan forvente er helt uakseptabelt på Windows. Du kan for eksempel ikke endre filnavnet til en åpen fil på Windows, men du kan gjøre det på Linux.

Andre åpenbare eksempler inkluderer WSL V1s dårlige filsystemytelse og dens manglende evne til å kjøre Docker.

WSL v2 Linux -kjernen

Denne nye versjonen av WSL løser alle disse problemene ved å inkludere Linux-kjernen som kjører i Hyper-V Hypervisor. Gjennom sin kunngjøring og demoer, understreket Craig Loewen og hans kollega fra Microsoft på det punktet at Microsoft, Microsoft, kommer til å investere enormt i virtualiseringsteknologi.

Å bruke en Linux -kjerne løser alle de semantiske problemene som ikke kan løses ved hjelp av bare et systemanrop -oversettelse lag. Denne Linux-kjernen kommer til å bli veldig lett og vil bli vedlikeholdt av Microsoft med alle endringene i Linux-kjernen som er laget åpen kildekode. I demoen deres viste de hvordan du bare kan migrere de eksisterende WSL V1 -appene for å kjøre umodifisert til et WSL V2 -miljø. Filsystemytelsen har forbedret seg med 3-4 ganger, og hele systemet føles mye mer lydhør.

Hvordan virker det?

Så i utgangspunktet har vi en Linux VM med mange brukerlandsapper, e.G, OpenSuse eller Debian eller Ubuntu Userland. Du får mer enn en distro på Windows -maskinen din, med en enkelt Linux VM, så det er pent. Men det innebærer også at hver gang du åpner WSL Ubuntu -terminalen, starter du en komplett VM! Det kommer til å ta litt tid, ikke sant?

Faktisk nei. Linux -kjernen er faktisk liten nok og lett nok til at Microsoft kunne få sinnssyke oppstartstider med det (~ 1 sekund). De oppnådde dette ved å fjerne all bootloader -koden, og siden det er en VM, laster de Linux -kjernen direkte inn i adresseområdet i minnet og satte opp noen få tilstander i VM som kjernen forventer. Dette er den samme mekanismen som driver en ny ny Windows 10 -funksjon som er Windows Sandbox.

Det har et veldig lite minneavtrykk, det lastes opp i et sekund og det opprinnelige Ext4 -filsystemformatet lar det levere en veldig jevn brukeropplevelse. VM kjører bare når du trenger det.

Dessuten er det ikke helt isolert som en tradisjonell VM. Du kan veldig enkelt samhandle med resten av Windows -systemet, inkludert filer i Windows -stasjonene dine ved hjelp av WSL V2. Det er ikke en isolert VM, men en integrert del av Windows 10. Hvordan oppnår det det?

Lenge leve plan 9

Med WSL V1 var det trivielt å få tilgang til filer og kataloger på Windows -gjestene dine. Linux Userland er bare en app på Windows, så den kan lese og skrive filer som opprinnelig tilhører det opprinnelige OS ganske enkelt.

Med WSL V2 har du en VM som kjører med den virtuelle harddisken (formatert med ext4, selvfølgelig), og hvis vi vil ha en lignende opplevelse som WSL V1, trenger vi noen ekstra mekanismer. Angi plan 9.

Plan 9, også skrevet som, 9p er et OS som opprinnelig ble utviklet på Bell Labs. Selv om det er usannsynlig at du noen gang vil finne den i produksjon, lever det fortsatt da forskjellige andre operativsystemer tar i bruk interessante ideer som blir inkubert i den, inkludert 9p -protokollen for en filserver.

Filsystemer

WSL V2 vil ha en 9p -protokollserver som kjører på Windows 10 -verten din, og en 9p -klient som kjører inne i WSL -appene dine. Dette lar deg få tilgang til Windows 10 -filer innfødt i WSL -miljøet. C: -stasjonen vil bli montert AT /MNT /C, akkurat som WSL V1, og hver fil inne i Windows 10 -verten kan nås av WSL -miljøet.

Samtalen vil også være sant. Det vil være en 9p -protokollserver som kjører i Linux -miljøet ditt med sin tilsvarende klient på Windows 10 -verten. Dette vil tillate brukere å få tilgang til Linux (Ext4) filsystemet fra Windows 10 -miljøet. La deg redigere kildekoden eller konfigurere filer ved hjelp av din favoritt IDE installert på Windows, oppgi alle katalogene ved å bruke Windows 10 File Explorer, og mye mer. I hovedsak vil du kjøre favoritt Linux -distrosen med Windows 10 UI.

Docker

I kunngjøringen antydet Microsoft også at dette nye miljøet også vil bli brukt av Docker til å sende deres fremtidige Docker for Windows Apps. Siden det er en Linux -kjerne, som kjører Docker på toppen av den, vil det være ganske enkelt. I demoen kjørte de Docker på toppen av Ubuntu som kjørte WSL V2, og det fungerte som om det kjører på en innfødt Ubuntu -installasjon.

For å gi et veldig overfladisk eksempel, hvis du har jobbet med Dockerfiles på et Windows -system, må du ha lagt merke til sikkerhetsproblemene som er forårsaket på grunn av mangelen på UNIX som filtillatelser. Det vil ikke lenger være et problem. Docker på Windows bruker allerede en tilpasset VM for å gi Linux -containere, antagelig vil den nå bruke WSL V2 til å bruke Linux -kjernen som Microsoft leveres.

Konklusjon

Totalt sett er jeg veldig imponert over hva Microsoft gjør for å gi et fristed for Linux -utviklere som også vil bruke Windows. Forhåpentligvis vil det på lang sikt oppmuntre til mye kryssbestøvning mellom de to forskjellige økosystemene.

Hvis du kjører Windows 10 Home, Pro- eller Enterprise Edition, kan du få en smak av WSL V2 ved å velge inn for forhåndsvisning av Windows 10. Her er en guide for hvordan du gjør det.