Windowsi ühilduvus

Linuxi tuum Windows 10-s

Linuxi tuum Windows 10-s
Kuidas töötab uus Windowsi alamsüsteem Linuxile (v2)??

Microsoft teatas hiljuti, et nad tarnivad peagi Linuxi tuuma, mis on integreeritud otse Windows 10-sse. See võimaldab arendajatel kasutada Linuxi rakenduste arendamisel Windows 10 platvormi. Tegelikult on see järgmine samm Windowsi alamsüsteemi Linuxile (WSL) arengus. Vaatame üle WSL-i versiooni 1, enne kui asume Linuxi kerneli intergatsioonile ja mida see tähendab.

Kui soovite WSL-iga (v1) alustada, on siin selle juhend.

1.  WSL-i versioon1

Windowsi alamsüsteemi Linuxile tuleks tõesti nimetada Windowsi jaoks Linuxi alamsüsteemiks. See pakub draiverit (alamsüsteemi) Windowsi operatsioonisüsteemile, mis tõlgib Linuxi süsteemikõned kohalikeks Windows 10 süsteemikõnedeks, millest NT kernel aru saab.

See loob Linuxi binaarkaartidele mõnevõrra usutava illusiooni, et tegelikult töötavad need Linuxi tuuma peal! See töötab piisavalt hästi, et mitte ainult saate käivitada lihtsaid 64-bitiseid binaare, mis on kompileeritud Linuxi jaoks, vaid ka tervet Userlandi (.k.a Linuxi distributsioon nagu Debian või Ubuntu) WSL v1 peal. Nii et kui installite Ubuntu Microsofti poest, tõmbab see lihtsalt Ubuntu kasutajamaa kahendfailid, mida Canonical saadab Microsofti WSL v1 keskkonda.

Kuid WSL v1 pole veel kaugeltki täiuslik. Teatud semantika, mida Linuxi süsteem võiks eeldada, on Windowsis täiesti vastuvõetamatud. Näiteks ei saa te Windowsis avatud faili failinime muuta, küll aga Linuxis.

Muudeks ilmseteks näideteks on WSL v1 halb failisüsteemi jõudlus ja suutmatus Dockerit käitada.

2.  WSL v2 Linuxi kernel

See uus WSL-i versioon lahendab kõik need probleemid, lisades Hyper-V hüpervisoris töötava Linuxi tuuma. Craig Loewen ja tema Microsofti kolleeg rõhutasid kogu oma teadaande ja demode vältel, et edasi liikudes investeerib Microsoft tohutult virtualiseerimistehnoloogiasse.

Linuxi tuuma kasutamine lahendab kõik semantilised probleemid, mida pole võimalik lahendada, kasutades ainult süsteemikõne tõlkekihti. See Linuxi kernel saab olema väga kerge ja seda hooldab Microsoft, muutes kõik Linuxi kerneli muudatused avatud lähtekoodiga. Oma demos näitasid nad, kuidas saate lihtsalt olemasolevad WSL v1 rakendused migreerimata töötama WSL v2 keskkonda. Failisüsteemi jõudlus on paranenud 3-4 korda ja kogu süsteem tunneb end palju reageerivamana.

3.  Kuidas see töötab?

Nii et põhimõtteliselt on meil Linuxi VM, kus on palju kasutajamaa rakendusi, nt.g, OpenSUSE või Debiani või Ubuntu kasutajamaa. Ühe Linuxi VM-iga saate oma Windowsi masinas rohkem kui ühe levitamise, nii et see on puhas. Kuid see tähendab ka seda, et iga kord, kui avate oma WSL Ubuntu terminali, käivitate täieliku VM-i! See võtab natuke aega, eks?

Tegelikult mitte. Linuxi tuum on tegelikult piisavalt väike ja piisavalt kaalukas, et Microsoft suutis sellega meeletuid algusaegu saada (~ 1sekund). Selle saavutasid nad kogu alglaaduri koodi eemaldamisega ja kuna tegemist on VM-iga, laadivad nad Linuxi tuuma otse oma mäluruumi aadressiruumi ja seadistavad mõned VM-i olekud, mida kern eeldab. See on sama mehhanism, mis käitab teist uut Windows 10 funktsiooni, see on Windowsi liivakast.

Sellel on väga väike mälu jalajälg, see laaditakse sekundiga ja natiivne ext4-failisüsteemi formaat võimaldab sellel pakkuda väga sujuvat kasutuskogemust. VM töötab ainult siis, kui seda vajate.

Pealegi pole see täielikult eraldatud nagu traditsiooniline VM. WSL v2 abil saate väga hõlpsalt suhelda ülejäänud Windowsi süsteemiga, sealhulgas Windowsi draivides olevate failidega. See ei ole eraldatud VM, vaid Windows 10 integreeritud osa. Kuidas see seda saavutab?

4.  Elagu plaan 9

WSL v1 abil oli Windowsi külalistel failidele ja kataloogidele juurdepääsemine tühine. Teie Linuxi kasutajariik on lihtsalt Windowsi rakendus, nii et see suudab algselt kohalikule operatsioonisüsteemile kuulunud faile lugeda ja kirjutada üsna lihtsalt.

WSL v2-ga on teil virtuaalne kõvaketas töötav VM (muidugi vormindatud ext4-ga) ja kui tahame sarnast kogemust nagu WSL v1, vajame lisamehhanisme. Sisestage plaan 9.

Plaan 9, mis on kirjutatud ka kui, 9P on algselt Bell Labsi välja töötatud operatsioonisüsteem. Kuigi on ebatõenäoline, et leiate seda kunagi tootmises töötavat, elab see siiski edasi, kuna paljud teised operatsioonisüsteemid võtavad vastu selles inkubeeritud huvitavaid ideid, sealhulgas failiserveri 9P protokoll.

5.  Failisüsteemid

WSL v2-l töötab teie Windows 10 hostis 9P-protokolliserver ja teie WSL-i rakendustes töötab 9P-klient. See võimaldab teil pääseda juurde Windows 10 failidele WSL-keskkonnas. C: draiv paigaldatakse aadressile / mnt / c, nagu WSL v1, ja WSL-i keskkond jõuab kõigi Windows 10 hostis olevate failideni.

Vastupidine saab ka paika. Teie Linuxi keskkonnas töötab 9P protokolliserver koos vastava kliendiga Windows 10 hostis. See võimaldab kasutajatel pääseda oma Linuxi (ext4) failisüsteemile juurde Windows 10 keskkonnast. Lubades teil oma lähtekoodi või konfiguratsioonifaile redigeerida, kasutades Windowsi installitud lemmik-IDE-d, loetledes kõik kataloogid, kasutades Windows 10 File Explorerit, ja palju muud. Põhimõtteliselt käitate oma lemmik Linuxi distrosid Windows 10 kasutajaliidesega.

6.  Docker

Oma teadaandes vihjas Microsoft ka, et seda uut keskkonda kasutab Docker ka oma tulevase Windowsi rakenduste Dockeri saatmiseks. Kuna seal on Linuxi tuum, on Dockeri käivitamine selle peal üsna lihtne. Demos käivitasid nad Dockeri Ubuntu peal, kus töötab WSL v2, ja see töötas nii, nagu töötaks see kohalikus Ubuntu installis.

Väga pealiskaudse näite toomiseks, kui olete töötanud Dockerfilesiga Windowsi süsteemis, peate olema märganud turvaprobleeme, mis on põhjustatud Unixi, näiteks faililubade puudumisest. See ei ole enam teema. Docker Windowsis kasutab Linuxi konteinerite pakkumiseks juba kohandatud virtuaalseadet, arvatavasti kasutab see nüüd Microsofti saadetava Linuxi kerneli kasutamiseks WSL v2-d.

Järeldus

Üldiselt on mulle väga muljet avaldanud see, mida Microsoft teeb, et pakkuda varjupaika Linuxi arendajatele, kes soovivad ka Windowsi kasutada. Loodetavasti soodustab see pikas perspektiivis palju risttolmlemist kahe erineva ökosüsteemi vahel.

Kui kasutate Windows 10 Home, Pro või Enterprise Editioni, saate WSL v2-st maitsta, lubades Windows 10 eelkoostised. Siin on juhend, kuidas seda teha.

OpenTTD vs Simutrans
Oma transpordisimulatsiooni loomine võib olla lõbus, lõõgastav ja äärmiselt köitev. Sellepärast peate endale meelepärase leidmiseks kindlasti proovima...
OpenTTD õpetus
OpenTTD on seal üks populaarsemaid ärisimulatsioonimänge. Selles mängus peate looma suurepärase transpordiettevõtte. Alustate siiski alguses umbes 190...
SuperTuxKart Linuxile
SuperTuxKart on suurepärane pealkiri, mis on loodud selleks, et tuua teie Linuxi süsteemis tasuta Mario Karti kogemus. See on päris keeruline ja lõbus...