Ahoj, Habr!
Zatímco u nás pokračuje , rádi bychom vám nabídli, abyste probrali jedno z nejrozsáhlejších témat, na kterém v poslední době pracujeme — interakci mezi Windows a Linuxem, zejména v souvislosti s vývojem systému . WSL 2 je již na cestě a nabízíme vašemu pozornosti stručný přehled možností, které na nás v této subsystému čekají, stejně jako prognózu další integrace Windows a Linuxu.

V květnu tohoto roku společnost Microsoft oznámila, že WSL2, nejnovější verze subsystémy Windows pro Linux, bude fungovat na plnohodnotném Linuxovém jádru, které bylo vyvinuto ve společnosti.
Tímto způsobem Microsoft poprvé zařazuje do Windows Linuxové jádro jako jeden z komponentů. Také Microsoft zavádí do Windows příkazový řádek, který rozšíří možnosti PowerShell a WSL.
Jak Linuxové jádro pro WSL2, vyvinuté týmem Microsoft, tak nový příkazový řádek Windows jsou především zajímavé pro vývojáře.
„To je nejvýznamnější tah v partii proti AWS,“ poznamenává Joshua Schwartz, vedoucí programů digitalizace v poradenské firmě A.T. Kearney.
Budoucnost Microsoftu není spojena s trhem PC, ačkoliv v tomto segmentu bude i nadále pevně držet své pozice. Mnohem důležitější bude upevnit se na cloudovém trhu, jednou z komponentů kterého se v budoucnu mohou stát i stolní PC.
Co dělá WSL2
WSL2 je nejnovější infrastruktura subsystémy Windows pro Linux. Umožňuje radikálně zvýšit výkon souborového systému a zajišťuje plnou kompatibilitu se systémovými voláními.
Jeden z hlavních požadavků komunity WSL byl spojen s vylepšením funkcionality. Na WSL2 funguje mnohem více nástrojů pod Linuxem než na WSL, konkrétně Docker a FUSE.
WSL2 zpracovává intenzivní operace se soubory, konkrétně git clone, npm install, apt update a apt upgrade. Skutečné zvýšení rychlosti závisí na konkrétní aplikaci a na tom, jak interaguje se souborovým systémem.
První testy ukázaly, že WSL2 je přibližně 20krát rychlejší než WSL1 při rozbalování tar ze zip. Při použití git clone, npm install a cmake v různých projektech systém ukázal růst výkonu v rozmezí dva až pětkrát.
Pomůže to získat důvěru vývojářů?
V podstatě se Microsoft snaží získat uznání a důvěru ve vývojářské komunitě tím, že vyvíjí vlastní verzi jádra Linux pro podporu procesů WSL2, říká Cody Swann, CEO společnosti Gunner Technology.
„Pokud nepočítáme vývoj striktně pro Windows, bylo vytváření všech ostatních aplikací – cloudových, mobilních, webových – na PC velmi nepohodlné, a proto musel vývojář jakýmkoli způsobem stahovat distribuci Linuxu vedle operačního systému Windows. Microsoft to uznal a nabídl řešení,“ uzavírá.
Je nepravděpodobné, že zavedení vlastního jádra Linuxu by mělo výrazný dopad na práci se systémem z pohledu běžného uživatele. Nicméně, v takovém případě se otvírají možnosti pro bližší spolupráci mezi službami Microsoft a operačním systémem Linux.
Tento krok Microsoftu je opravdu velmi promyšlený, protože pomáhá hlouběji proniknout do vývojářské komunity a aktivně využívat produkty, které vyvíjí někdo jiný – tedy se zapojit do open source, domnívá se Swann.
Vítejte ve New Microsoftu
Trend ve směru vytváření a podpory jádra Linux „speciálně pro Windows“ odráží rozhodnou orientaci na open source, kterou propaguje CEO Satya Nadella. Microsoft už není tím, co byl za Gatesa a Ballmera, kdy vše bylo chráněno proprietárním plotem a o interoperabilitě nikdo nepřemýšlel.
„Satya zcela transformoval Microsoft na mnohem modernější platformu a tato strategie se vyplatila. Ahoj, kapitalizace na triliony dolarů,“ říká Schwartz.
Podle názoru Charlese Kinga, hlavního analytika v Pund-IT, jsou dvě základní výhody Microsoftu spojeny s efektivitou a bezpečností.
„Aktivním využíváním vlastních vážných vývojů – zdrojů a nástrojů – může společnost zaručit klientům, že jádro bude zcela aktuální a vybavené nejnovějšími záplatami a opravami, které zajišťují plnou bezpečnost,“ dodává.
Vývojáři – také v zisku.
Binární soubory Linux plní mnoho funkcí pomocí systémových volání, například přistupují k souborům, požadují paměť a vytvářejí procesy. WSL1 se opírá o vrstvu překladatele, která interpretuje mnoho z těchto systémových volání a umožňuje jim interakci s jádrem Windows NT.
Největší výzvou je realizovat všechna systémová volání. Protože to ve WSL1 nebylo provedeno, některé aplikace tam nemohly fungovat. Ve WSL2 se objevuje řada nových aplikací, které v tomto prostředí pracují normálně.
Nová architektura umožňuje společnosti Microsoft provádět nejnovější optimalizace v jádru Linux mnohem rychleji než u WSL1. Microsoft může aktualizovat jádro WSL2, aniž by znovu realizoval všechna omezení.
Úplně open-source nástroj
Vývoj vlastního jádra Linux společnosti Microsoft byl vrcholem letité práce provedené skupinou Linux Systems Group a také mnoha dalšími týmy působícími napříč celou korporací Microsoft - potvrzuje Jack Hammons, manažer programů v Linux Systems Group, Microsoft.
Jádro poskytované pro WSL2 bude zcela open-source a Microsoft zveřejní na GitHubu instrukce, jak sestavit toto jádro. Společnost bude spolupracovat s vývojáři, kteří chtějí projektu pomoci, a stimulovat vzestupné změny.
Vývojáři Microsoftu vytvářeli WSL2 pomocí systémů neustálé integrace a dodávky, které fungují ve společnosti. Tento software bude spravován prostřednictvím systému aktualizací Windows a bude zcela průhledný pro uživatele. Jádro zůstane aktuální a zahrne všechny možnosti nejnovější stabilní větve Linuxu.
Aby zajistila dostupnost zdrojových kódů, společnost zrcadlí úložiště lokálně a také neustále sleduje obsah e-mailového zpravodaje Linuxu týkající se bezpečnostních problémů, a spolupracuje s několika společnostmi, které podporují práci s databázemi ve firemním virtuálním prostředí (CVE). Tímto způsobem se zaručuje, že jádro Linux od společnosti Microsoft bude zohledňovat nejnovější aktualizace a odstraňovat veškeré vzniklé hrozby.
Vzestupné změny se stávají povinnými
Microsoft zaručuje, že všechny změny jádra budou distribuovány ve vzestupném směru – to je důležitý aspekt filozofie Linuxu. Podpora sestupných patchů je spojena s dodatečnou složitostí; navíc taková praxe není běžně akceptována ve svobodné vývojové komunitě.
Cílem společnosti Microsoft, která aktivně využívá Linux, je stát se disciplinovaným členem této komunity a poskytovat přidané změny k dispozici této komunitě. Aby se dosáhlo stability větví spojených s dlouhodobou podporou, některé patche – například obsahující nové funkce – mohou být zařazeny pouze do nových verzí jádra, a nikoli portovány do aktuální verze LTS v režimu zpětné kompatibility.
Když bude k dispozici zdrojový kód jádra WSL, bude se skládat z odkazů na sadu patchů a dlouhodobé stabilní části zdrojových kódů. Microsoft očekává, že se tento seznam časem zkrátí, jak se patche budou rozšiřovat ve vzestupném směru, a nové lokální patche budou přidávány na podporu nových funkcí WSL.
Příjemnější design oken
Microsoft také oznámil přípravu „zimní“ verze Windows Terminal – nové aplikace pro uživatele pracující s nástroji příkazového řádku a shells, konkrétně Command Prompt, PowerShell a WSL.

Windows Terminal
Windows Terminal 1.0 nabízí řadu nastavení a konfiguračních možností, které poskytují úplnější kontrolu nad designem okna terminálu, stejně jako nad shells/profily, které mají být otevřeny jako nové karty.
Nastavení budou uchovávána ve strukturovaném textovém souboru, což umožní snadné konfigurace a přizpůsobení okna terminálu podle vlastního vkusu.
Microsoft ukončuje úpravy stávajícího Windows Console a vytváří nové od základů, přičemž se rozhodla aplikovat nový přístup. Windows Terminal se instaluje a funguje vedle stávající aplikace Windows Console dodávané „out of the box“.
Jak to funguje
Když uživatel Windows 10 spustí Cmd/PowerShell/atd. přímo, spustí se proces připojený k běžné instanci Console. Mechanismus konfigurace nového terminálu umožňuje uživatelům Windows vytvářet více profilů pro všechny požadované shellové/aplikace/nástroje, ať už v PowerShellu, příkazovém řádku, Ubuntu, nebo dokonce při SSH připojeních k Azure nebo zařízením Internetu věcí.
V těchto profilech mohou být předpokládány vlastní kombinace vzhledu a velikosti písma, barevná témata, úrovně rozmazání nebo průhlednosti pozadí. Kromě toho si uživatelé budou moci zvolit nový monospace font, aby okno terminálu vypadalo moderněji a atraktivněji. Tento font obsahuje programátorské ligatury, bude zveřejněn jako open-source a bude uložen ve vlastním repozitáři.
Hlavní výhody nového příkazového rozhraní Windows – mnoho karet a krásný text. Podpora mnoha karet byla považována za nejvíce požadovaný prvek pro vývoj terminálu. Krásný text vzniká díky renderovacímu motoru založenému na DirectWrite/DirectX, vybavenému GPU akcelerací.
Motor zobrazuje textové ikony, glyfy a speciální znaky dostupné v písmu, včetně čínských, japonských a korejských ideogramů (CJK), emoji, symbolů powerline, ikon a programátorských ligatur. Kromě toho tento motor zobrazuje text mnohem rychleji než GDI, který byl dříve používán v konzoli.
Zpětná kompatibilita zůstává na vysoké úrovni, i když, pokud si přejete, můžete vyzkoušet také Windows Terminal.
Chronologie: jak to bude
Microsoft zpřístupní Windows Terminal prostřednictvím Microsoft Store ve Windows 10 a pravidelně ho aktualizuje. Uživatelé tak budou vždy pracovat s nejnovějšími verzemi a posledními vylepšeními – téměř bez jakýchkoliv námahy.
Microsoft plánuje spustit nový terminál nejbližší zimu. Jakmile Microsoft vydá Windows Terminal 1.0, vývojáři se budou nadále zabývat mnoha možnostmi, které již byly odloženy v backlogu.
Zdrojový kód Windows Terminal a Windows Console na GitHubu.
Co nás může čekat v budoucnosti?
Možnost, že Microsoft začne používat vlastní jádro Linux i pro jiné účely, například pro vývoj vlastního Linuxového distribuce, se dnes jeví jako poněkud hypotetická.
Pravděpodobně závisí na tom, zda se Microsoftu podaří zjistit významný zájem o takový produkt a jaké obchodní příležitosti tyto inovace potenciálně otevřou, uvádí Charles King.
Myslí si, že v dohledné době se společnost zaměří na zajištění stále užší kompatibility mezi Windows a Linuxem a jejich vzájemného doplnění.
Joshua Schwartz se domnívá, že v tomto případě bude nutné zvážit, jaká budou investice do této práce a jaký bude její výnos. Kdyby byla Microsoft dnes zcela mladou společností, pravděpodobně by všechno dělala na základě Linuxu. Avšak portování všech stávajících řešení Microsoftu na nativní architekturu Linuxu se dnes jeví jako nákladný a složitý projekt, který se pravděpodobně dobře nevyplatí. Milovníci Linuxu dostanou svůj Linux, zatímco hlavní architektura zůstane nedotčena.
Když Apple v roce 2000 znovu vynalezl Mac OS, tento operační systém byl postaven na základě BSD Unix, který je více podobný Linuxu než DOS. Dnes se však nová verze Microsoft Windows vytváří právě na bázi Linuxu.
Možná se před námi otevírá nová brána?
Linuxové jádro od Microsoftu může otevřít cestu pro užší interakci mezi službami Windows a operačním systémem Linux. V podstatě tyto inovace Microsoftu svědčí o tom, že ve společnosti Microsoft si již uvědomují, že dnes téměř nezůstalo žádných klientů, kteří by dávali přednost existenci ve světě, kde je všude pouze Windows.
Je mnohem rozumnější používat heterogenní technologie a systémy, které nejlépe vyhovují obchodním požadavkům a konkrétním praktickým situacím.
Důležitější strategickou otázkou je, jaké nové strategické příležitosti tento krok otevírá pro samotnou platformu Microsoft?
Azure – cloudová ekosystém od Microsoftu – již poskytuje obrovskou podporu Linuxu. Dříve Windows dobře podporovala Linux pomocí virtuálních strojů.
Principiální změny, které dnes probíhají, souvisejí s tím, že nyní budou procesy Linuxu nativně vykonávány na jádru Windows, což znamená, že práce s Linuxem z Windows bude probíhat mnohem rychleji než na virtuálních strojích. Je velmi pravděpodobné, že v důsledku toho se Azure obohatí o celou vrstvu inženýrů, kteří používají Linux v průmyslovém měřítku.
Zdroj: habr.com
