Windows kompatibilitás

Linux kernel a Windows 10 rendszerben

Linux kernel a Windows 10 rendszerben
Hogyan működik az új Windows alrendszer Linux rendszerhez (v2)?

A Microsoft nemrég bejelentette, hogy hamarosan egy Linux kernelt szállítanak, amely közvetlenül a Windows 10-be van integrálva. Ez lehetővé teszi a fejlesztők számára, hogy kihasználják a Windows 10 platformot, amikor fejlesztenek alkalmazásokat a Linux számára. Valójában ez a következő lépés a Windows alrendszer for Linux (WSL) fejlődésében. Tekintsük át a WSL 1. verzióját, mielőtt belekezdenénk a Linux kernel intergációjának alapanyagába és mit jelent.

Ha el akarja kezdeni a WSL (v1) használatát, itt talál egy útmutatót.

1.  WSL verzió1

A Windows alrendszert Linux számára valóban Linux alrendszernek kell nevezni a Windows számára. Illesztőprogramot (alrendszert) kínál a Windows operációs rendszer számára, amely a Linux rendszerhívásokat natív Windows 10 rendszerhívásokká alakítja át, amelyeket az NT kernel megért.

Ez kissé hihető illúziót teremt a Linux bináris fájljai számára, hogy valójában egy Linux kernel tetején futnak! Ez elég jól működik, így nemcsak egyszerű, Linuxra fordított 64 bites bináris fájlokat futtathat, hanem egy teljes Userland-t (egy.k.egy Linux disztribúció, például Debian vagy Ubuntu) a WSL v1 tetején. Tehát, amikor az Ubuntut a Microsoft áruházból telepíti, csak beolvassa azokat az Ubuntu felhasználói bináris fájlokat, amelyeket a Canonical szállít a Microsoft WSL v1 környezetéhez.

A WSL v1 azonban még mindig nem tökéletes. Bizonyos szemantika, amelyre a Linux rendszer számíthat, teljesen elfogadhatatlan a Windows rendszeren. Például nem változtathatja meg a nyitott fájl fájlnevét Windows rendszeren, de Linuxon.

További nyilvánvaló példák a WSL v1 gyenge fájlrendszer-teljesítménye és a Docker futtatására való képtelenség.

2.  WSL v2 a Linux kernel

A WSL ezen új verziója megoldja ezeket a problémákat azáltal, hogy a Hyper-V hipervisorba futó Linux kernelt is tartalmazza. Craig Loewen és a Microsoft munkatársa bejelentésük és bemutatóik során azon a ponton hangsúlyozták, hogy a Microsoft előrelépve hatalmas összegeket fog befektetni a virtualizációs technológiába.

A Linux kernel használata megoldja azokat a szemantikai kérdéseket, amelyek nem oldhatók meg csak egy rendszerhívás-fordító réteg használatával. Ez a Linux kern nagyon könnyű lesz, és a Microsoft fenntartja, a Linux kernel minden változtatásával nyílt forráskódúvá válik. Bemutatójukban bemutatták, hogyan lehet migrálni a meglévő WSL v1 alkalmazásokat, hogy módosítatlanul fussanak egy WSL v2 környezetbe. A fájlrendszer teljesítménye 3-4-szer javult, és az egész rendszer sokkal jobban reagál.

3.  Hogyan működik?

Alapvetően tehát van egy Linux virtuális gépünk, sok userland alkalmazással, pl.g, OpenSUSE vagy Debian vagy Ubuntu userland. Egynél több disztribúciót kap a Windows gépén, egyetlen Linux virtuális géppel, így ez rendben van. De ez azt is magában foglalja, hogy minden alkalommal, amikor megnyitja a WSL Ubuntu terminált, egy teljes virtuális gépet indít! Ez eltart egy ideig, igaz?

Igazából, nem. A Linux kernel valójában elég kicsi és elég könnyű ahhoz, hogy a Microsoft őrült indítási időket tudjon elérni vele (~ 1 másodperc). Ezt úgy érték el, hogy eltávolították az összes bootloader kódot, és mivel ez egy virtuális gép, közvetlenül betöltik a Linux kernelt a memória címterébe, és beállítják a virtuális gép néhány állapotát, amelyre a kern számít. Ez ugyanaz a mechanizmus, amely egy másik új Windows 10 szolgáltatást működtet, a Windows Sandboxot.

Nagyon kicsi a memóriaterülete, másodpercek alatt betöltődik, és a natív ext4 fájlrendszer-formátum lehetővé teszi, hogy nagyon sima felhasználói élményt nyújtson. A virtuális gép csak akkor fut, amikor szüksége van rá.

Sőt, nem teljesen elszigetelt, mint egy hagyományos virtuális gép. Nagyon könnyen kölcsönhatásba léphet a Windows rendszer többi részével, beleértve a Windows meghajtók fájljait is a WSL v2 használatával. Ez nem elszigetelt virtuális gép, hanem a Windows 10 integrált része. Hogyan érheti el ezt?

4.  Éljen a 9. terv

A WSL v1 használatával a Windows-vendégek fájljaihoz és könyvtáraihoz való hozzáférés triviális volt. A Linux felhasználói ország csak egy alkalmazás a Windows rendszeren, így az eredetileg a natív operációs rendszerhez tartozó fájlokat elég könnyen olvashatja és írhatja.

A WSL v2 használatával virtuális merevlemezzel futó virtuális gép (természetesen ext4 formátumban formázva), és ha hasonló élményre vágyunk, mint a WSL v1, akkor szükségünk van néhány extra mechanizmusra. Írja be a 9. tervet.

A 9. terv, más néven: 9P, a Bell Labs-nál eredetileg kifejlesztett operációs rendszer. Bár nem valószínű, hogy valaha is futni fog a gyártásban, mégis él, mivel számos más operációs rendszer érdekes ötleteket fogad el, amelyek inkubálódnak benne, beleértve a fájlkiszolgáló 9P protokollját.

5.  Fájlrendszerek

A WSL v2 9P protokollszervert futtat a Windows 10 hoszton, és 9P kliens fut a WSL alkalmazásokon belül. Ez lehetővé teszi a Windows 10 fájlok natív elérését a WSL környezetben. A C: meghajtó a / mnt / c fájlra lesz telepítve, csakúgy, mint a WSL v1, és a Windows 10 gazdagépen belül minden fájlt elérhet a WSL környezet.

A fordítva is igaz lesz. A Linux környezetében egy 9P protokollszerver fog futni a megfelelő klienssel a Windows 10 gazdagépen. Ez lehetővé teszi a felhasználók számára, hogy a Windows 10 környezetből hozzáférjenek Linux (ext4) fájlrendszerükhöz. Lehetővé teszi a forráskód vagy a konfigurációs fájlok szerkesztését a Windows rendszerre telepített kedvenc IDE használatával, az összes könyvtár felsorolásával a Windows 10 File Explorer segítségével és még sok mással. Lényegében a kedvenc Linux disztribúcióit futtatja a Windows 10 felhasználói felületén.

6.  Dokkmunkás

Közleményükben a Microsoft arra is utalt, hogy ezt az új környezetet a Docker is használni fogja jövőbeli Docker for Windows alkalmazásainak szállításához. Mivel van egy Linux kernel, a Docker futtatása a tetején meglehetősen egyszerű lesz. A bemutatóban a Dockert futtatták az Ubuntu tetején, a WSL v2-t futtatva, és úgy működött, mintha natív Ubuntu telepítéssel futna.

Nagyon felszínes példaként említhetem, hogy ha a Dockerfiles programmal Windows rendszeren dolgozott, akkor feltétlenül észrevette azokat a biztonsági problémákat, amelyeket a Unix, például a fájlengedélyek hiánya okoz. Ez már nem lesz kérdés. A Windows rendszerű Docker már egy egyéni virtuális gépet használ Linux-konténerek biztosításához, feltehetően a WSL v2-t fogja használni a Microsoft által szállított Linux-kernel használatához.

Következtetés

Összességében nagyon lenyűgözött az, amit a Microsoft tesz annak érdekében, hogy menedéket biztosítson azoknak a Linux-fejlesztőknek, akik szintén szeretnék használni a Windows rendszert. Remélhetőleg hosszú távon sok kereszt beporzást fog ösztönözni a két különböző ökoszisztéma között.

Ha Windows 10 Home, Pro vagy Enterprise kiadást használ, ízelítőt kaphat a WSL v2-ből, ha engedélyezi a Windows 10 Preview buildjeit. Itt van egy útmutató, hogyan kell ezt megtenni.

HD Remastered Games for Linux, amelyeknek soha nem volt korábban Linux kiadásuk
Számos játékfejlesztő és kiadó a régi játékok HD remasterjével áll elő a franchise élettartamának meghosszabbítása érdekében. Kérjük, hogy a rajongók ...
Az AutoKey használata a Linux játékok automatizálásához
Az AutoKey egy asztali automatizáló segédprogram Linux és X11 rendszerekhez, Python 3, GTK és Qt programozással. A parancsfájlok és a MACRO funkcióina...
Az FPS-számláló megjelenítése a Linux-játékokban
A Linux játék komoly lendületet kapott, amikor a Valve 2012-ben bejelentette a Linux támogatását a Steam kliensnek és játékaiknak. Azóta sok AAA és in...