Tučňák v okně: o potenciálu a vyhlídkách WSL2

Čau Habr!

Zatímco jsme stále v plném proudu letní výprodej, rádi bychom vás pozvali k diskusi o jednom z největších témat, kterému se v poslední době věnujeme – o interakci Windows a Linuxu, souvisejícím zejména s vývojem systému WSL. WSL 2 je na cestě a zde je rychlý přehled toho, co v tomto subsystému přijde, a také předpověď budoucí integrace mezi Windows a Linuxem.

Tučňák v okně: o potenciálu a vyhlídkách WSL2

V květnu tohoto roku Microsoft oznámil, že WSL2, nejnovější verze subsystému Windows na Linuxu, poběží na plnohodnotném linuxovém jádře, které je vlastní.
Je to poprvé, co Microsoft zahrnul linuxové jádro jako součást Windows. Microsoft také zavádí do Windows příkazový řádek, který rozšíří možnosti prostředí PowerShell a WSL.

Jak linuxové jádro pro WSL2 vytvořené společností Microsoft, tak nový příkazový řádek Windows jsou zajímavé především pro vývojáře.

„Toto je nejsilnější krok ve hře proti AWS,“ říká Joshua Schwartz, ředitel digitalizačních programů v poradenské firmě AT Kearney.

Budoucnost Microsoftu není spojena s PC trhem, i když si v tomto segmentu bude i nadále pevně držet svou pozici. Mnohem důležitější bude prosadit se na cloudovém trhu, jehož jednou z komponent mohou být v budoucnu stolní PC.

Co dělá WSL2?

WSL2 je nejnovější framework Windows Subsystem pro Linux. Umožňuje radikálně zlepšit výkon souborového systému a poskytuje plnou kompatibilitu se systémovými voláními.

Jeden z hlavních požadavků komunity WSL se týkal vylepšení funkčnosti. WSL2 spouští mnohem více linuxových nástrojů než WSL, zejména Docker a FUSE.
WSL2 zvládá operace náročné na soubory, zejména klon git, instalaci npm, aktualizaci apt a upgrade apt. Skutečné zvýšení rychlosti závisí na konkrétní aplikaci a na tom, jak interaguje se systémem souborů.

První testy ukázaly, že WSL2 je při rozbalování dehtu ze zipu asi 20krát rychlejší než WSL1. Při použití git clone, npm install a cmake v různých projektech systém vykazoval dvou až pětinásobné zvýšení výkonu.

Pomůže to získat důvěru vývojářů?

Microsoft se v podstatě snaží získat uznání a důvěru ve vývojářské komunitě vývojem vlastní verze linuxového jádra pro podporu procesů WSL2, řekl Cody Swann, generální ředitel společnosti Gunner Technology.

„Kromě vývoje výhradně pro Windows bylo vytváření všech ostatních aplikací – cloudových, mobilních, webových aplikací – na PC extrémně nepohodlné, a proto musel vývojář nějak nabootovat linuxovou distribuci paralelně s OS Windows. Microsoft to rozpoznal a přišel s řešením,“ uzavírá.

Je nepravděpodobné, že zavedení vlastního linuxového jádra bude mít vážný dopad na systém z pohledu běžného uživatele. To však otevírá možnosti pro užší interakci mezi službami Microsoftu a operačním systémem Linux.
Tento krok ze strany Microsoftu je skutečně velmi chytrý, protože pomáhá proniknout hlouběji do vývojářské komunity a také aktivně využívat produkty, které vyvíjí někdo jiný – tedy připojit se k open source, říká Swann.

Vítejte v novém Microsoftu

Trend směřující k vytváření a údržbě linuxového jádra „speciálně pro Windows“ odráží silný směr open source prosazovaný generálním ředitelem Satyou Nadellou. Microsoft už není stejný jako za Gatese a Ballmera, kdy bylo vše drženo za proprietárním plotem a nikdo nepřemýšlel o interoperabilitě.

„Satja kompletně přetvořil Microsoft na mnohem modernější platformu a tato strategie se bohatě vyplatila. Dobrý den, kapitalizace bilionů dolarů,“ říká Schwartz.

Podle Charlese Kinga, hlavního analytika společnosti Pund-IT, jsou dvě hlavní silné stránky Microsoftu efektivita a bezpečnost.

„Aktivním používáním vlastního seriózního vývoje – zdrojů a nástrojů – může společnost zákazníkům zaručit, že jádro bude zcela aktuální a vybavené nejnovějšími záplatami a opravami, aby byla zajištěna úplná bezpečnost,“ dodává.

Profitují z toho i vývojáři

Linuxové binární soubory provádějí mnoho funkcí pomocí systémových volání, jako je přístup k souborům, vyžádání paměti a vytváření procesů. WSL1 spoléhá na překladovou vrstvu, která interpretuje mnoho z těchto systémových volání a umožňuje jim komunikovat s jádrem Windows NT.

Nejtěžší je implementovat všechna systémová volání. Protože to nebylo provedeno ve WSL1, některé aplikace tam nemohly fungovat. WSL2 představuje mnoho nových aplikací, které v tomto prostředí dobře fungují.

Nová architektura umožňuje Microsoftu přinést nejnovější optimalizace do linuxového jádra mnohem rychleji než u WSL1. Microsoft může aktualizovat jádro WSL2 spíše než znovu implementovat všechna omezení.

Plně open source nástroj

Vývoj vlastního linuxového jádra společnosti Microsoft byl vyvrcholením let práce skupiny Linux Systems Group, stejně jako mnoha dalších týmů v celém Microsoftu, řekl Jack Hammons, programový manažer v Linux Systems Group, Microsoft.

Jádro poskytované pro WSL2 bude zcela open source a Microsoft na GitHubu zveřejní návod, jak takové jádro postavit. Společnost se spojí s vývojáři, kteří budou ochotni pomoci projektu a řídit změny zdola nahoru.

Vývojáři společnosti Microsoft vytvořili WSL2 pomocí systémů průběžné integrace a průběžného doručování společnosti. Tento software bude poskytován prostřednictvím aktualizačního systému Windows a bude pro uživatele zcela transparentní. Jádro zůstane aktuální a bude obsahovat všechny funkce nejnovější stabilní větve Linuxu.

Aby byla zajištěna dostupnost zdroje, společnost zrcadlí úložiště lokálně, neustále monitoruje obsah linuxového bezpečnostního mailing listu a spolupracuje s několika společnostmi, které podporují databáze v podnikových virtuálních prostředích (CVE). To zajišťuje, že linuxové jádro společnosti Microsoft je aktuální s nejnovějšími aktualizacemi a eliminuje jakékoli nově se objevující hrozby.

Změny zdola nahoru se stávají povinnými

Microsoft zajišťuje, že všechny změny jádra jsou propagovány proti proudu, což je důležitý aspekt filozofie Linuxu. Podpora downstream patchů přináší další složitost; Navíc tato praxe není v komunitě open source běžná.

Cílem Microsoftu jako aktivního uživatele Linuxu je být disciplinovaným členem komunity a přispívat ke změnám v komunitě. Aby byla zajištěna stabilita větví spojených s dlouhodobou podporou, mohou být některé záplaty - například ty obsahující nové funkce - zahrnuty pouze do nových verzí jádra a neportovány na aktuální verzi LTS v režimu zpětné kompatibility.

Až budou základní zdroje WSL dostupné, budou se skládat z odkazů na sadu oprav a dlouhotrvající stabilní část zdrojů. Microsoft očekává, že se tento seznam časem zmenší, protože opravy jsou distribuovány upstream a jsou přidávány nové místní opravy na podporu nových funkcí WSL.

Příjemnější design oken

Microsoft také oznámil nadcházející zimní verzi Windows Terminal, nové aplikace pro uživatele, kteří pracují s nástroji příkazového řádku a shelly, jako jsou příkazový řádek, PowerShell a WSL.

Tučňák v okně: o potenciálu a vyhlídkách WSL2

Windows Terminal

Windows Terminal 1.0 nabízí mnoho nastavení a možností konfigurace, které vám poskytují větší kontrolu nad vzhledem okna terminálu a také nad shelly/profily, které by se měly otevírat jako nové karty.

Nastavení budou uložena ve strukturovaném textovém souboru, takže je lze snadno nakonfigurovat a navrhnout okno terminálu podle vašeho vkusu.

Microsoft již nevylepšuje stávající konzoli Windows a vytváří novou od nuly, přičemž se rozhodl zvolit nový přístup. Windows Terminal se nainstaluje a spustí paralelně se stávající aplikací Windows Console, která je dodávána z krabice.

Jak to funguje

Když uživatel Windows 10 přímo spustí Cmd/PowerShell/etc, spustí se proces připojený k běžné instanci konzoly. Konfigurační modul nového terminálu umožňuje uživatelům Windows vytvářet více profilů pro všechny jejich požadované prostředí/aplikace/nástroje, ať už v PowerShellu, příkazovém řádku, Ubuntu nebo dokonce SSH připojení k Azure nebo IoT zařízení.

Tyto profily mohou poskytovat vlastní kombinace designu a velikosti písma, barevných motivů, úrovní rozostření pozadí nebo průhlednosti. Uživatelé si navíc budou moci vybrat nové jednoprostorové písmo, aby okno terminálu vypadalo moderněji a cool. Tento font obsahuje programátorské ligatury, bude veřejně dostupný a uložen ve vlastním úložišti.

Hlavními výhodami nového příkazového rozhraní Windows je mnoho karet a krásný text. Podpora více karet byla považována za nejžádanější požadavek na vývoj terminálu. Krásný text je získán díky vykreslovacímu jádru založenému na DirectWrite/DirectX, vybaveném akcelerací GPU.

Motor zobrazuje textové ikony, glyfy a speciální znaky ve fontech, včetně čínských, japonských a korejských ideogramů (CJK), emotikonů, symbolů powerline, ikon a programovacích ligatur. Navíc tento engine vykresluje text mnohem rychleji než GDI dříve používané v konzoli.

Zpětná kompatibilita zůstává v plném rozsahu, i když můžete zkusit Windows Terminal, pokud chcete.

Chronologie: jak se to stane

Microsoft poskytne Windows Terminal prostřednictvím Microsoft Store ve Windows 10 a bude jej pravidelně aktualizovat. Uživatelé tak budou mít vždy aktuální informace o nejnovějších verzích a nejnovějších vylepšeních – prakticky bez dalšího úsilí.

Microsoft plánuje spustit nový terminál tuto zimu. Jakmile Microsoft zavede Windows Terminal 1.0, vývojáři budou pokračovat v práci na mnoha funkcích, které jsou již nevyřízené.

Zdrojový kód Windows Terminal a Windows Console již zveřejněno na GitHubu.

Co nás může v budoucnu čekat?

Možnost, že Microsoft využije vlastní linuxové jádro pro jiné účely, například pro vývoj vlastní linuxové distribuce, se dnes jeví jako poněkud hypotetická.

Výsledek pravděpodobně závisí na tom, zda se Microsoftu podaří najít významnou poptávku po takovém produktu a jaké obchodní příležitosti by takový vývoj mohl potenciálně otevřít, říká Charles King.

Myslí si, že se společnost v dohledné budoucnosti zaměří na to, aby Windows a Linux byly stále více kompatibilní a vzájemně se doplňovaly.

Joshua Schwartz se domnívá, že v tomto případě bude nutné zvážit, jaká bude investice do tohoto díla a jaká bude návratnost. Kdyby byl dnes Microsoft velmi mladou společností, pravděpodobně by vše dělal na bázi Linuxu. Zdá se však, že přenesení veškerého vývoje již dostupného od Microsoftu na nativní architekturu Linuxu je dnes drahý a složitý projekt, který se pravděpodobně dobře nevyplatí. Milovníci Linuxu dostanou svůj vlastní Linux a architektura jádra zůstane nedotčena.

Když Apple v roce 2000 znovu objevil Mac OS, byl operační systém založen na BSD Unix, který je více podobný Linuxu než DOSu. Dnes se vytváří nová verze Microsoft Windows založená na Linuxu.

Možná se nám otevírají nové dveře?

Linuxové jádro Microsoftu by mohlo připravit cestu pro větší interoperabilitu mezi službami Windows a operačním systémem Linux. Tento vývoj ze strany Microsoftu v podstatě naznačuje, že Microsoft sám již rozumí: dnes už téměř žádní zákazníci, kteří dávají přednost existenci ve světě, kde je všechno Windows, nezbyli.

Mnohem smysluplnější je používat heterogenní technologie a systémy, které nejlépe splňují obchodní požadavky a konkrétní praktické situace.

Větší strategickou otázkou je, jaké nové strategické příležitosti tento krok otevírá pro samotnou platformu Microsoftu?

Azure, cloudový ekosystém společnosti Microsoft, již poskytuje obrovskou podporu pro Linux. Dříve Windows dobře podporoval Linux pomocí virtuálních strojů.

Zásadní změny, ke kterým dnes dochází, jsou způsobeny tím, že nyní poběží linuxové procesy nativně na jádře Windows, což znamená, že práce s Linuxem z Windows bude mnohem rychlejší než na virtuálních strojích. Je pravděpodobné, že ve výsledku se Azure obohatí o celou vrstvu inženýrů využívajících Linux v průmyslovém měřítku.

Zdroj: www.habr.com

Přidat komentář