Kompatibilita s Windows

Linuxové jádro ve Windows 10

Linuxové jádro ve Windows 10
Jak funguje nový subsystém Windows pro Linux (v2)?

Společnost Microsoft nedávno oznámila, že brzy dodá jádro Linuxu, které je integrováno přímo do systému Windows 10. To vývojářům umožní využívat platformu Windows 10 při vývoji aplikací pro Linux. Ve skutečnosti se jedná o další krok ve vývoji subsystému Windows pro Linux (WSL). Pojďme se podívat na WSL verze 1, než se pustíme do štědrosti jádra Linuxu a co to znamená.

Pokud chcete začít s WSL (v1), zde je průvodce.

1.  Verze WSL1

Subsystém Windows pro Linux by měl být skutečně nazýván Linuxovým subsystémem pro Windows. Nabízí ovladač (subsystém) pro operační systém Windows, který převádí systémová volání systému Linux na nativní systémová volání systému Windows 10, kterým jádro NT rozumí.

To vytváří poněkud věrohodnou iluzi pro binární soubory Linuxu, že ve skutečnosti běží nad jádrem Linuxu! To funguje dostatečně dobře, že nejen můžete spustit jednoduché 64bitové binární soubory zkompilované pro Linux, ale můžete spustit celou Userland (a.k.distribuce Linuxu jako Debian nebo Ubuntu) nad WSL v1. Když tedy nainstalujete Ubuntu z obchodu Microsoft, načte pouze binární soubory uživatelských Ubuntu, které Canonical dodává pro prostředí Microsoftu WSL v1.

WSL v1 však stále není zdaleka dokonalý. Určitá sémantika, kterou by systém Linux očekával, je v systému Windows naprosto nepřijatelná. Například nemůžete změnit název otevřeného souboru v systému Windows, ale můžete to udělat v systému Linux.

Mezi další zjevné příklady patří špatný výkon souborového systému WSL v1 a jeho neschopnost spustit Docker.

2.  WSL v2 linuxové jádro

Tato nová verze WSL řeší všechny tyto problémy začleněním linuxového jádra běžícího v hypervisoru Hyper-V. Craig Loewen a jeho kolega z Microsoftu během svého oznámení a ukázek zdůrazňovali, že v budoucnu bude Microsoft investovat obrovské prostředky do virtualizační technologie.

Použití linuxového jádra řeší všechny sémantické problémy, které nelze vyřešit pouze pomocí vrstvy překladu systémových volání. Toto linuxové jádro bude velmi lehké a bude udržováno společností Microsoft se všemi změnami v linuxovém jádru provedeném jako otevřený zdroj. Ve své ukázce ukázali, jak můžete jednoduše migrovat existující aplikace WSL v1 a spustit je beze změny do prostředí WSL v2. Výkon systému souborů se zlepšil 3-4krát a celý systém se cítí mnohem citlivěji.

3.  Jak to funguje?

V zásadě tedy máme virtuální počítač s Linuxem se spoustou uživatelských aplikací, např.g, uživatelská země OpenSUSE nebo Debian nebo Ubuntu. Na svém počítači se systémem Windows získáte více než jednu distribuci s jediným virtuálním počítačem s Linuxem, takže je to čisté. Ale také to znamená, že pokaždé, když otevřete svůj terminál WSL Ubuntu, zavádíte kompletní virtuální počítač! Bude to chvíli trvat, správně?

Právě ne. Linuxové jádro je ve skutečnosti dost malé a lehké natolik, že Microsoft s ním dokázal získat šílené časy bootování (~ 1 sekunda). Dosáhli toho odstraněním celého kódu zavaděče a protože se jedná o virtuální počítač, načtou přímo jádro Linuxu do jeho adresního prostoru v paměti a nastaví několik stavů virtuálního počítače, které jádro očekává. Jedná se o stejný mechanismus, který napájí další novou funkci Windows 10, kterou je Windows Sandbox.

Má velmi malou paměťovou stopu, za sekundu se načte a nativní formát souborového systému ext4 umožňuje poskytovat velmi plynulý uživatelský zážitek. Virtuální počítač běží pouze tehdy, když to potřebujete.

Navíc není zcela izolován jako tradiční virtuální počítač. Můžete velmi snadno komunikovat se zbytkem systému Windows, včetně souborů na discích Windows, pomocí WSL v2. Není to izolovaný virtuální počítač, ale integrovaná součást Windows 10. Jak toho dosáhne?

4.  Ať žije plán 9

S WSL v1 byl přístup k souborům a adresářům na vašich hosty Windows triviální. Vaše linuxová uživatelská země je pouze aplikace pro Windows, takže dokáže docela snadno číst a zapisovat soubory původně patřící k nativnímu OS.

S WSL v2 máte virtuální počítač běžící s jeho virtuálním pevným diskem (samozřejmě formátovaný na ext4) a pokud chceme podobnou zkušenost jako WSL v1, potřebujeme nějaké další mechanismy. Zadejte plán 9.

Plan 9, také psaný jako, 9P je OS původně vyvinutý v Bell Labs. I když je nepravděpodobné, že byste ho někdy našli v produkci, stále žije, protože různé jiné operační systémy přijímají zajímavé nápady, které jsou v něm inkubovány, včetně protokolu 9P pro souborový server.

5.  Systémy souborů

WSL v2 bude mít na vašem hostiteli Windows 10 spuštěný server protokolu 9P a ve vašich aplikacích WSL běží klient 9P. To vám umožní nativní přístup k souborům Windows 10 uvnitř vašeho prostředí WSL. Jednotka C: bude připojena na / mnt / c, stejně jako WSL v1, a každý soubor uvnitř hostitele Windows 10 lze dosáhnout prostředím WSL.

Opak bude také pravdivý. Ve vašem prostředí Linux bude spuštěn server protokolu 9P s odpovídajícím klientem na hostiteli Windows 10. To umožní uživatelům přístup k jejich systému souborů Linux (ext4) z prostředí Windows 10. Umožní vám upravit zdrojový kód nebo konfigurační soubory pomocí vašeho oblíbeného IDE nainstalovaného ve Windows, vypsat všechny adresáře pomocí Průzkumníka souborů Windows 10 a mnohem více. V zásadě budete používat své oblíbené linuxové distribuce s uživatelským rozhraním Windows 10.

6.  Přístavní dělník

Microsoft ve svém oznámení také naznačil, že toto nové prostředí bude Docker využívat také k zasílání svých budoucích aplikací Docker pro Windows. Vzhledem k tomu, že existuje jádro Linuxu, běží nad ním Docker, bude to docela snadné. V ukázce spustili Docker nad Ubuntu se systémem WSL v2 a fungovalo to, jako by běžel na nativní instalaci Ubuntu.

Abychom uvedli velmi povrchní příklad, pokud jste pracovali s Dockerfiles v systému Windows, určitě jste si všimli bezpečnostních problémů, které jsou způsobeny nedostatkem oprávnění k souborům typu Unix. To už nebude problém. Docker v systému Windows již k poskytování kontejnerů Linux používá vlastní virtuální počítač, pravděpodobně nyní použije WSL v2 k použití linuxového jádra dodávaného společností Microsoft.

Závěr

Celkově na mě velmi zapůsobilo to, co Microsoft dělá, aby poskytl útočiště vývojářům Linuxu, kteří také chtějí používat Windows. Doufejme, že z dlouhodobého hlediska podpoří hodně křížového opylování mezi dvěma různými ekosystémy.

Pokud používáte Windows 10 Home, Pro nebo Enterprise Edition, můžete ochutnat WSL v2 přihlášením k náhledu sestavení Windows 10. Zde je návod, jak to udělat.

Kurzor při psaní v systému Windows 10 skáče nebo se pohybuje náhodně
Pokud zjistíte, že kurzor myši skáče nebo se pohybuje sám, automaticky, náhodně při psaní v notebooku nebo počítači se systémem Windows, pak vám někte...
Jak obrátit směr posouvání myši a touchpadu ve Windows 10
Myš a Touchpadnejenže usnadňují výpočet, ale jsou efektivnější a méně časově náročné. Nemůžeme si představit život bez těchto zařízení, ale přesto je ...
Jak změnit velikost, barvu a schéma kurzoru myši a kurzoru v systému Windows 10
Ukazatel myši a kurzor ve Windows 10 jsou velmi důležité aspekty operačního systému. To lze říci i pro jiné operační systémy, takže ve skutečnosti nej...