Kompatibilita so systémom Windows

Linuxové jadro v systéme Windows 10

Linuxové jadro v systéme Windows 10
Ako funguje nový podsystém Windows pre Linux (v2)?

Spoločnosť Microsoft nedávno oznámila, že čoskoro dodá jadro Linuxu, ktoré je integrované priamo do systému Windows 10. To vývojárom umožní využívať platformu Windows 10 pri vývoji aplikácií pre Linux. Toto je v skutočnosti ďalší krok vo vývoji systému Windows Subsystem for Linux (WSL). Pozrime sa na WSL verzie 1 skôr, ako sa dostaneme k štipľavosti kríženia jadra Linuxu a k tomu, čo to znamená.

Ak chcete začať s WSL (v1), tu je sprievodca.

1.  Verzia WSL1

Subsystém Windows pre Linux by sa mal skutočne volať Linuxový subsystém pre Windows. Ponúka ovládač (podsystém) pre operačný systém Windows, ktorý prevádza systémové volania systému Linux na pôvodné volania systému Windows 10, ktorým jadro NT rozumie.

To vytvára trochu vierohodnú ilúziu pre binárne súbory systému Linux, že v skutočnosti bežia na jadre systému Linux! To funguje dosť dobre, že nielen že môžete spustiť jednoduché 64-bitové binárne súbory zostavené pre Linux, ale môžete spustiť aj celú Userland (.k.distribúcia Linuxu ako Debian alebo Ubuntu) nad rámec WSL v1. Takže keď nainštalujete Ubuntu z obchodu Microsoft, stiahne sa iba binárne súbory užívateľskej krajiny Ubuntu, ktoré Canonical dodáva pre prostredie Microsoft WSL v1.

WSL v1 však ani zďaleka nie je dokonalý. Určitá sémantika, ktorú by systém Linux očakával, je pre Windows úplne neprijateľná. Napríklad nemôžete zmeniť názov otvoreného súboru v systéme Windows, ale môžete to urobiť v systéme Linux.

Medzi ďalšie zrejmé príklady patrí slabý výkon súborového systému WSL v1 a nemožnosť spustiť Docker.

2.  WSL v2 Linuxové jadro

Táto nová verzia WSL rieši všetky tieto problémy zahrnutím linuxového jadra bežiaceho v hypervízore Hyper-V. Craig Loewen a jeho kolega z Microsoftu počas celého svojho oznámenia a ukážok zdôrazňovali, že v ďalšom postupe bude spoločnosť Microsoft investovať obrovské prostriedky do virtualizačnej technológie.

Používanie jadra Linuxu rieši všetky sémantické problémy, ktoré nemožno vyriešiť pomocou iba vrstvy prekladu systémových hovorov. Toto jadro Linuxu bude veľmi ľahké a bude ho udržiavať spoločnosť Microsoft so všetkými zmenami v jadre systému Linux, ktoré boli urobené ako open source. Vo svojej ukážke ukázali, ako môžete jednoducho migrovať existujúce aplikácie WSL v1 na nezmenené spustenie do prostredia WSL v2. Výkon súborového systému sa zlepšil 3 - 4-krát a celý systém sa cíti oveľa citlivejšie.

3.  Ako to funguje?

Takže v podstate máme Linux Linux s množstvom aplikácií pre používateľov, napr.g, užívateľská krajina OpenSUSE alebo Debian alebo Ubuntu. Na svojom počítači so systémom Windows získate viac ako jednu distribúciu s jediným virtuálnym počítačom so systémom Linux, takže je to elegantné. Znamená to však tiež, že zakaždým, keď otvoríte svoj terminál WSL Ubuntu, bootujete kompletný VM! Bude to chvíľu trvať, však?

Vlastne nie. Linuxové jadro je v skutočnosti dosť malé a ľahké, takže Microsoft s ním dokázal získať šialené časy zavádzania (~ 1 sekunda). Dosiahli to odstránením všetkého kódu bootloaderu a keďže sa jedná o VM, priamo načítajú jadro Linuxu do jeho adresného priestoru v pamäti a nastavia niekoľko stavov VM, ktoré jadro očakáva. Jedná sa o rovnaký mechanizmus, ktorý poháňa ďalšiu novú funkciu Windows 10, ktorou je Windows Sandbox.

Má veľmi malú pamäťovú stopu, za sekundu sa načíta a natívny formát súborového systému ext4 umožňuje veľmi hladký používateľský zážitok. VM beží iba vtedy, keď to potrebujete.

Navyše nie je úplne izolovaný ako tradičný VM. S WSL v2 môžete veľmi ľahko komunikovať so zvyškom systému Windows, vrátane súborov na diskoch Windows. Nejde o izolovaný VM, ale o integrovanú súčasť systému Windows 10. Ako sa to dosahuje?

4.  Nech žije plán 9

S WSL v1 bol prístup k súborom a adresárom vašich hostí so systémom Windows triviálny. Vaša užívateľská krajina Linuxu je iba aplikácia pre Windows, takže dokáže veľmi ľahko čítať a zapisovať súbory pôvodne patriace k natívnemu OS.

S WSL v2 máte VM bežiaci s jeho virtuálnym pevným diskom (samozrejme formátovaným na ext4) a ak chceme podobnú skúsenosť ako WSL v1, potrebujeme nejaké ďalšie mechanizmy. Zadajte plán 9.

Plan 9, tiež napísaný ako, 9P je OS pôvodne vyvinutý v laboratóriách Bell Labs. Aj keď je nepravdepodobné, že by ste ho niekedy našli vo výrobe, stále žije, pretože rôzne ďalšie operačné systémy prijímajú zaujímavé nápady, ktoré sú v ňom inkubované, vrátane protokolu 9P pre súborový server.

5.  Systémy súborov

WSL v2 bude mať na vašom hostiteľovi Windows 10 spustený server protokolu 9P a vo vašich aplikáciách WSL bude bežať klient 9P. To vám umožní natívny prístup k súborom Windows 10 vo vašom prostredí WSL. Jednotka C: bude pripojená na / mnt / c, rovnako ako WSL v1, a každý súbor vo vnútri hostiteľa Windows 10 je dostupný prostredím WSL.

Opak bude tiež pravdivý. Vo vašom prostredí Linux bude bežať server protokolu 9P s príslušným klientom na hostiteľovi Windows 10. To používateľom umožní prístup k ich súborovému systému Linux (ext4) z prostredia Windows 10. Umožní vám upraviť zdrojový kód alebo konfiguračné súbory pomocou vášho obľúbeného IDE nainštalovaného v systéme Windows, uviesť zoznam všetkých adresárov pomocou prehľadávača súborov vo Windows 10 a oveľa viac. V podstate budete používať svoje obľúbené distribúcie systému Linux s používateľským rozhraním systému Windows 10.

6.  Docker

Spoločnosť Microsoft vo svojom oznámení tiež naznačila, že toto nové prostredie bude spoločnosť Docker využívať aj na dodanie svojich budúcich aplikácií Docker pre Windows. Pretože je tu jadro Linuxu, bude na ňom bežať Docker, a bude to celkom jednoduché. V ukážke spustili Docker nad Ubuntu so systémom WSL v2 a fungovalo to, akoby bežal na natívnej inštalácii Ubuntu.

Aby som uviedol veľmi povrchný príklad, ak ste pracovali s súborom Dockerfiles v systéme Windows, určite ste si všimli problémy so zabezpečením, ktoré sú spôsobené nedostatkom povolení súborov typu Unix. To už nebude problém. Docker v systéme Windows už používa na poskytovanie kontajnerov Linux vlastný VM, pravdepodobne teraz použije WSL v2 na použitie jadra Linuxu, ktoré dodáva spoločnosť Microsoft.

Záver

Celkovo na mňa veľmi robí dojem, čo spoločnosť Microsoft robí, aby poskytla útočisko vývojárom systému Linux, ktorí tiež chcú používať Windows. Dúfajme, že z dlhodobého hľadiska to podporí veľa krížového opeľovania medzi týmito dvoma rôznymi ekosystémami.

Ak máte Windows 10 Home, Pro alebo Enterprise edition, môžete ochutnať WSL v2 prihlásením sa k odberu ukážkových verzií Windows 10. Tu je návod, ako to urobiť.

Hry Top 10 hier, ktoré sa dajú hrať na Ubuntu
Top 10 hier, ktoré sa dajú hrať na Ubuntu
Platforma Windows je jednou z dominujúcich platforiem pre hry kvôli obrovskému percentu hier, ktoré sa dnes vyvíjajú na natívnu podporu systému Window...
Hry 5 najlepších arkádových hier pre Linux
5 najlepších arkádových hier pre Linux
V dnešnej dobe sú počítače vážne stroje používané na hranie hier. Ak nemôžete dosiahnuť nové najvyššie skóre, budete vedieť, čo tým myslím. V tomto pr...
Hry Battle For Wesnoth 1.13.6 Vývoj uvoľnený
Battle For Wesnoth 1.13.6 Vývoj uvoľnený
Battle For Wesnoth 1.13.6 vydané minulý mesiac, je šiestym vývojovým vydaním v 1.13.séria x a prináša množstvo vylepšení, najmä používateľského rozhra...