Združljivost s sistemom Windows

Jedro Linuxa v sistemu Windows 10

Jedro Linuxa v sistemu Windows 10
Kako deluje novi podsistem Windows za Linux (v2)?

Microsoft je pred kratkim napovedal, da bodo kmalu poslali jedro Linuxa, ki je integrirano v sistem Windows 10. To bo razvijalcem omogočilo, da pri razvoju aplikacij za Linux izkoristijo platformo Windows 10. Pravzaprav je to naslednji korak v razvoju podsistema Windows za Linux (WSL). Oglejmo si različico WSL 1, preden se lotimo krhkega posredovanja jedra Linuxa in kaj to pomeni.

Če želite začeti z WSL (v1), je tukaj vodič za to.

1.  Različica WSL1

Podsistem Windows za Linux bi se res moral imenovati Linux podsistem za Windows. Ponuja gonilnik (podsistem) za operacijski sistem Windows, ki sistemske klice Linuxa prevede v izvorne sistemske klice sistema Windows 10, ki jih razume jedro NT.

To ustvarja nekoliko verodostojno iluzijo za binarne datoteke Linux, da dejansko delujejo na vrhu jedra Linuxa! To deluje dovolj dobro, da lahko ne samo zaženete preproste 64-bitne binarne datoteke, sestavljene za Linux, temveč lahko zaženete celotno Userland (a.k.distribucija Linuxa, kot sta Debian ali Ubuntu) na vrhu WSL v1. Torej, ko namestite Ubuntu iz Microsoftove trgovine, le prikliče binarne datoteke uporabniške države Ubuntu, ki jih Canonical pošlje za Microsoftovo okolje WSL v1.

Vendar WSL v1 še zdaleč ni popoln. Nekatere semantike, ki bi jih sistem Linux pričakoval, so popolnoma nesprejemljive v sistemu Windows. Na primer, ne morete spremeniti imena odprte datoteke v sistemu Windows, lahko pa v Linuxu.

Drugi očitni primeri so slaba zmogljivost datotečnega sistema WSL v1 in njegova nezmožnost zagnati Docker.

2.  WSL v2 jedro Linuxa

Ta nova različica WSL rešuje vse te težave tako, da vključi jedro Linuxa, ki se izvaja v hipervizorju Hyper-V. V svojih objavah in predstavitvah sta Craig Loewen in njegov kolega iz Microsofta poudarila, da bo Microsoft v prihodnje veliko vlagal v tehnologijo virtualizacije.

Uporaba jedra Linuxa rešuje vsa semantična vprašanja, ki jih ni mogoče rešiti samo s pomočjo sloja za prevajanje sistemskih klicev. To jedro Linuxa bo zelo lahko in ga bo vzdrževal Microsoft z vsemi spremembami v jedru Linuxa, ki bodo odprte kode. V svoji predstavitvi so pokazali, kako lahko preprosto preselite obstoječe aplikacije WSL v1, da se nespremenjene zaženejo v okolje WSL v2. Zmogljivost datotečnega sistema se je izboljšala za 3-4 krat in celoten sistem se počuti veliko bolj odziven.

3.  Kako deluje?

V bistvu imamo Linux VM z veliko uporabniškimi aplikacijami, npr.g, uporabniška država OpenSUSE ali Debian ali Ubuntu. Na enem računalniku z operacijskim sistemom Windows dobite več kot eno distribucijo z enim VM Linuxom, tako da je to lepo. Vendar pa tudi pomeni, da vsakič, ko odprete terminal WSL Ubuntu, zaženete celoten VM! To bo trajalo nekaj časa, kajne?

Pravzaprav ne. Jedro Linuxa je pravzaprav dovolj majhno in dovolj lahko, da je Microsoft z njim lahko dobil nore zagonske čase (~ 1sekunda). To so dosegli z odstranitvijo vse kode zagonskega nalagalnika in ker gre za VM, jedro Linuxa neposredno naložijo v njegov naslovni prostor v pomnilniku in nastavijo nekaj stanj VM, ki jih jedro pričakuje. To je isti mehanizem, ki poganja še eno novo funkcijo sistema Windows 10, ki je Windows Sandbox.

Ima zelo majhen odtis pomnilnika, naloži se v sekundi in izvorni format datotečnega sistema ext4 mu omogoča zelo gladko uporabniško izkušnjo. VM deluje samo, ko ga potrebujete.

Poleg tega ni popolnoma izoliran kot tradicionalni VM. Z WSL v2 lahko zelo enostavno komunicirate s preostalim sistemom Windows, vključno z datotekami v pogonih Windows. To ni izolirana VM, temveč integrirani del sistema Windows 10. Kako to doseže?

4.  Naj živi načrt 9

Z WSL v1 je bil dostop do datotek in imenikov gostov v sistemu Windows nepomemben. Vaša uporabniška država Linux je samo aplikacija v sistemu Windows, zato lahko zelo enostavno bere in piše datoteke, ki prvotno pripadajo izvornemu OS.

Z WSL v2 imate na voljo VM s svojim navideznim trdim diskom (seveda formatiran z ext4) in če želimo podobno izkušnjo, kot je WSL v1, potrebujemo nekaj dodatnih mehanizmov. Vnesite načrt 9.

Plan 9, napisan tudi kot, 9P je OS, ki je bil prvotno razvit v Bell Labs. Čeprav je malo verjetno, da ga boste kdaj zagnali v proizvodnji, še vedno živi, ​​saj različni drugi operacijski sistemi sprejemajo zanimive ideje, ki so vanj vdelane, vključno s protokolom 9P za datotečni strežnik.

5.  Datotečni sistemi

WSL v2 bo imel na strežniku Windows 10 nameščen strežnik protokola 9P in odjemalca 9P, ki se bo zagnal v aplikacijah WSL. To vam omogoča dostop do datotek sistema Windows 10 znotraj vašega okolja WSL. Pogon C: bo nameščen na / mnt / c, tako kot WSL v1, in okolje WSL lahko doseže vsako datoteko v gostitelju Windows 10.

Res bo tudi obratno. V vašem okolju Linux se bo zagnal strežnik protokola 9P z ustreznim odjemalcem na gostitelju Windows 10. To bo uporabnikom omogočilo dostop do njihovega datotečnega sistema Linux (ext4) iz okolja Windows 10. Omogoča vam urejanje izvorne kode ali konfiguracijskih datotek z vašim najljubšim IDE-jem, nameščenim v sistemu Windows, seznam vseh imenikov z raziskovalcem datotek Windows 10 in še veliko več. V bistvu boste uporabljali svoje najljubše distribucije Linuxa z uporabniškim vmesnikom Windows 10.

6.  Docker

Microsoft je v svoji napovedi tudi namignil, da bo to novo okolje Docker uporabil tudi za pošiljanje svojih prihodnjih aplikacij Docker za Windows. Ker obstaja jedro Linuxa, bo na njem nameščen Docker, dokaj enostavno. V predstavitvi so Docker zagnali na vrhu Ubuntuja z WSL v2 in je deloval, kot da se izvaja na domači namestitvi Ubuntuja.

Če navedemo zelo površen primer, če ste v sistemu Windows delali z Dockerfiles, ste verjetno opazili varnostne težave, ki so nastale zaradi pomanjkanja dovoljenj za datoteke Unix, kot so datoteke. To ne bo več vprašanje. Docker v sistemu Windows že uporablja VM po meri za zagotavljanje vsebnikov Linuxa, verjetno bo zdaj uporabljal WSL v2 za uporabo jedra Linuxa, ki ga Microsoftu pošlje.

Zaključek

Na splošno sem zelo navdušen nad tem, kar Microsoft počne, da bi ponudil zatočišče razvijalcem Linuxa, ki želijo uporabljati tudi Windows. Upamo, da bo dolgoročno spodbudilo veliko navzkrižno opraševanje med različnima ekosistemoma.

Če imate Windows 10 Home, Pro ali Enterprise Edition, lahko poskusite WSL v2, tako da se odločite za predogled zgradb sistema Windows 10. Tu je vodnik, kako to storiti.

Najboljših 5 izdelkov z ergonomsko računalniško miško za Linux
Ali dolgotrajna uporaba računalnika povzroča bolečine v zapestju ali prstih? Ali imate trde sklepe in bi se morali neprestano tresti z rokami? Ali čut...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
S pomočjo gumba X-Mouse Button Control različno prilagodite gumbe miške za različno programsko opremo
Mogoče potrebujete orodje, ki bi lahko spremenilo nadzor miške z vsako aplikacijo, ki jo uporabljate. V tem primeru lahko preizkusite aplikacijo z ime...