Windows-kompatibilitet

Linux-kjernen i Windows 10

Linux-kjernen i Windows 10
Hvordan fungerer det nye Windows Subsystem 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. Faktisk er dette neste trinn i utviklingen av Windows Subsystem for Linux (WSL). La oss se på WSL versjon 1 før vi går inn i det strikkete av Linux-kjerneforbindelse og hva det betyr.

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

1.  WSL-versjon 1

Windows-delsystemet for Linux bør egentlig kalles et Linux-delsystem for Windows. Den tilbyr en driver (et delsystem) for Windows OS, som oversetter Linux-systemanrop til innfødte Windows 10-systemanrop som NT-kjernen forstår.

Dette skaper en litt troverdig illusjon for Linux-binærfiler om at de faktisk kjører på toppen av en Linux-kjerne! Dette fungerer bra nok til at du ikke bare kan kjøre enkle 64-bits binærfiler samlet for Linux, men du kan kjøre et helt Userland (en.k.en en Linux-distribusjon som Debian eller Ubuntu) på toppen av WSL v1. Så når du installerer Ubuntu fra Microsoft-butikken, henter det bare Ubuntu-brukerland-binærfiler som Canonical sender til Microsofts WSL v1-miljø.

Imidlertid er WSL v1 fortsatt langt fra perfekt. Visse semantikk som et Linux-system forventer er helt uakseptabelt på Windows. For eksempel kan du 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 manglende evne til å kjøre Docker.

2.  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 kunngjøringen og demoer understreket Craig Loewen og hans kollega fra Microsoft på det punktet at Microsoft fremover vil investere enormt i virtualiseringsteknologi.

Bruke en Linux-kjerne løser alle semantiske problemer som ikke kan løses ved hjelp av bare et systemanropsoversettingslag. Denne Linux-kjernen kommer til å være veldig lett og vil bli opprettholdt av Microsoft med alle endringene i Linux Kernel gjort åpen kildekode. I demoen viste de hvordan du bare kan migrere de eksisterende WSL v1-appene for å kjøre umodifisert til et WSL v2-miljø. Filsystemets ytelse er forbedret med 3-4 ganger, og hele systemet føles mye mer responsivt.

3.  Hvordan virker det?

Så i utgangspunktet har vi en Linux-VM med mange brukerland-apper, f.eks.g, OpenSUSE eller Debian eller Ubuntu brukerland. 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 en stund, ikke sant?

Faktisk nei. Linux-kjernen er faktisk liten nok og lett nok til at Microsoft var i stand til å få vanvittige oppstartstider med den (~ 1 sekund). De oppnådde dette ved å fjerne all bootloader-koden, og siden den er en virtuell maskin, laster de direkte Linux-kjernen inn i adresserommet i minnet og setter opp noen få tilstander til den virtuelle maskinen som kjernen forventer. Dette er den samme mekanismen som driver en annen ny Windows 10-funksjon som er Windows Sandbox.

Den har et veldig lite minnefotavtrykk, den lastes opp på et sekund, og det opprinnelige ext4-filsystemformatet gjør det mulig å levere en veldig jevn brukeropplevelse. VM kjører bare når du trenger det.

Videre 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?

4.  Leve Plan 9

Med WSL v1 var tilgang på filer og kataloger på Windows-gjestene dine trivielle. Linux-brukerlandet ditt er bare en app på Windows, så den kan lese og skrive filer som opprinnelig tilhører det opprinnelige operativsystemet ganske enkelt.

Med WSL v2 har du en VM som kjører med den virtuelle harddisken (formatert med ext4, selvfølgelig), og hvis vi ønsker en lignende opplevelse som den for WSL v1, trenger vi noen ekstra mekanismer. Gå inn på plan 9.

Plan 9, også skrevet som, 9P er et operativsystem som opprinnelig ble utviklet hos Bell Labs. Selv om det er lite sannsynlig at du noen gang vil finne at den kjører i produksjon, lever den fremdeles videre ettersom forskjellige andre operativsystemer vedtar interessante ideer som inkuberes i den, inkludert 9P-protokollen for en filserver.

5.  Filsystemer

WSL v2 vil ha en 9P-protokollserver som kjører på din Windows 10-vert, og en 9P-klient som kjører i WSL-appene dine. Dette gir deg tilgang til Windows 10-filer naturlig i ditt WSL-miljø. C: -stasjonen vil bli montert på / mnt / c, akkurat som WSL v1, og hver fil i Windows 10-verten kan nås av WSL-miljøet.

Det omvendte vil også være sant. Det vil være en 9P-protokollserver som kjører i ditt Linux-miljø med tilhørende klient på Windows 10-verten. Dette vil gi brukere tilgang til Linux (ext4) filsystemet fra Windows 10-miljøet. Lar deg redigere kildekoden eller konfigurere filer ved hjelp av din favoritt IDE installert på Windows, liste opp alle katalogene ved hjelp av Windows 10 file explorer, og mye mer. I hovedsak vil du kjøre dine favoritt Linux-distribusjoner med Windows 10 UI.

6.  Docker

I sin kunngjøring antydet Microsoft også at dette nye miljøet også vil bli brukt av Docker til å sende deres fremtidige Docker for Windows-apper. Siden det er en Linux-kjerne, vil det være ganske enkelt å kjøre Docker på toppen av den. I demoen kjørte de Docker på toppen av Ubuntu som kjørte WSL v2, og det fungerte som om den 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 mangel på Unix-lignende filtillatelser. Det vil ikke lenger være et problem. Docker på Windows bruker allerede en tilpasset VM for å levere Linux-containere, antagelig vil den nå bruke WSL v2 til å bruke Linux-kjernen som Microsoft sender.

Konklusjon

Samlet 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å sikt oppmuntre til mye kryssbestøvning mellom de to forskjellige økosystemene.

Hvis du kjører Windows 10 Home, Pro eller enterprise-utgave, kan du få en smak av WSL v2 ved å velge Preview-versjoner av Windows 10. Her er en guide om hvordan du gjør det.

Mus Hvordan endre venstre og høyre museknapp på Windows 10 PC
Hvordan endre venstre og høyre museknapp på Windows 10 PC
Det er ganske vanlig at alle datamusenheter er ergonomisk designet for høyrehendte brukere. Men det er tilgjengelige musenheter som er spesielt design...
Mus Etterlig museklikk ved å sveve med Clickless Mouse i Windows 10
Etterlig museklikk ved å sveve med Clickless Mouse i Windows 10
Bruk av mus eller tastatur i feil stilling for overdreven bruk kan føre til mange helseproblemer, inkludert belastning, karpaltunnelsyndrom og mer. I ...
Mus Legg til musebevegelser i Windows 10 ved hjelp av disse gratisverktøyene
Legg til musebevegelser i Windows 10 ved hjelp av disse gratisverktøyene
De siste årene har datamaskiner og operativsystemer utviklet seg sterkt. Det var en tid da brukere måtte bruke kommandoer for å navigere gjennom filad...