Čau Habr!
Zatiaľ čo sme ešte v plnom prúde , radi by sme vás pozvali na diskusiu o jednej z najrozsiahlejších tém, na ktorých sme v poslednom čase pracovali – interakcii Windows и Linux, súvisiace najmä s vývojom systému WSL 2 je na ceste a tu je rýchly prehľad funkcií, ktoré nás v tomto subsystéme čakajú, ako aj pohľad na budúce integrácie. Windows и Linux.

V máji tohto roku spoločnosť Microsoft oznámila, že WSL2, najnovšia verzia subsystému, Windows na Linux, bude fungovať na plnohodnotnom jadre Linux, zozbierané v spoločnosti.
Toto je prvýkrát, čo spoločnosť Microsoft zahrnula Windows jadro Linux ako jednu zo súčastí. Spoločnosť Microsoft tiež zavádza Windows príkazový riadok, ktorý rozšíri možnosti PowerShellu a WSL.
Ako jadro Linux pre WSL2, vytvorený spoločnosťou Microsoft, a nový príkazový riadok Windows zaujímajú predovšetkým vývojárov.
„Toto je najsilnejší ťah v hre proti AWS,“ poznamenáva Joshua Schwartz, vedúci digitálnych programov v konzultačnej firme AT Kearney.
Budúcnosť spoločnosti Microsoft nie je viazaná na trh s osobnými počítačmi, hoci si v tomto segmente bude naďalej udržiavať silnú pozíciu. Oveľa dôležitejšie bude vybudovanie si pozície na cloudovom trhu, ktorého súčasťou by sa nakoniec mohli stať aj stolové počítače.
Čo robí WSL2?
WSL2 je najnovší infraštruktúrny subsystém Windows pre LinuxUmožňuje radikálne zvýšenie výkonu súborového systému a poskytuje plnú kompatibilitu so systémovými volaniami.
Jednou z hlavných požiadaviek komunity WSL bola vylepšená funkčnosť. WSL2 podporuje oveľa viac nástrojov. Linux, než na WSL, najmä Docker a FUSE.
WSL2 zvláda náročné operácie so súbormi, vrátane klonovania git, inštalácie npm, aktualizácie apt a upgrade apt. Skutočné zrýchlenie závisí od konkrétnej aplikácie a od toho, ako interaguje so súborovým systémom.
Počiatočné testy ukázali, že WSL2 je približne 20-krát rýchlejší ako WSL1 pri rozbaľovaní súborov tar zo súborov zip. Pri použití nástrojov git clone, npm install a cmake v rôznych projektoch systém preukázal dvoj- až päťnásobné zvýšenie výkonu.
Pomôže to získať dôveru vývojárov?
Spoločnosť Microsoft sa v podstate snaží získať uznanie a dôveryhodnosť v rámci komunity vývojárov tým, že sa pustí do vývoja vlastnej verzie jadra. Linux na podporu procesov WSL2, hovorí Cody Swann, generálny riaditeľ spoločnosti Gunner Technology.
„Ak nebudeme vývoj striktne počítať pod Windows, vytváranie všetkých ostatných aplikácií – cloudových, mobilných, webových aplikácií – na PC bolo mimoriadne nepohodlné, a preto si vývojár musel distribúciu stiahnuť tak či onak. Linux paralelne s OS Windows„Spoločnosť Microsoft to uznala a ponúkla riešenie,“ uzatvára.
Je nepravdepodobné, že implementácia vlastného jadra Linux vážne ovplyvní používateľskú skúsenosť. To však otvára príležitosti pre užšiu interakciu medzi službami spoločnosti Microsoft a operačným systémom. Linux.
Tento krok spoločnosti Microsoft je skutočne inteligentný, pretože jej pomáha hlbšie preniknúť do komunity vývojárov a aktívne využívať produkty, ktoré vyvíjajú iní – teda prepojiť sa s open source, verí Swann.
Vitajte v novom Microsofte
Trend smerom k vytváraniu a podpore jadra Linux „špeciálne pre Windows„odráža rozhodujúci posun smerom k open source, za ktorým stojí generálny riaditeľ Satya Nadella. Microsoft už nie je rovnaký, ako bol za Gatesa a Ballmera, keď bolo všetko držané za proprietárnymi múrmi a interoperabilita nebola dôležitá.“
„Satya úplne transformoval Microsoft na oveľa modernejšiu platformu a táto stratégia sa bohato vyplatila. Dobrý deň, ohodnotenie na bilión dolárov,“ hovorí Schwartz.
Podľa Charlesa Kinga, hlavného analytika spoločnosti Pund-IT, sú dvoma hlavnými silnými stránkami spoločnosti Microsoft efektivita a bezpečnosť.
„Aktívnym využívaním nášho rozsiahleho vývoja – zdrojov a nástrojov – môže spoločnosť zákazníkom zaručiť, že jadro bude plne aktuálne a vybavené najnovšími záplatami a opravami, čím sa zabezpečí úplná bezpečnosť,“ dodáva.
Výhodou sú aj pre vývojárov
Binárne súbory Linux vykonávať mnoho funkcií pomocou systémových volaní, ako je prístup k súborom, vyžiadanie pamäte a vytváranie procesov. WSL1 sa spolieha na prekladovú vrstvu, ktorá interpretuje mnohé z týchto systémových volaní a umožňuje im interakciu s jadrom. Windows NT.
Najťažšou časťou je implementácia všetkých systémových volaní. Keďže to nebolo urobené vo WSL1, niektoré aplikácie tam nemohli bežať. WSL2 zavádza mnoho nových aplikácií, ktoré v tomto prostredí fungujú dobre.
Nová architektúra umožňuje spoločnosti Microsoft priniesť do jadra najnovšie optimalizácie. Linux Oveľa rýchlejšie ako s WSL1. Microsoft môže aktualizovať jadro WSL2 namiesto opätovnej implementácie všetkých obmedzení.
Úplne otvorený nástroj
Vývoj vlastného jadra Linux spoločnosťou Microsoft bola vyvrcholením mnohoročnej práce Linux Systems Group, ako aj mnoho ďalších tímov v spoločnosti Microsoft, hovorí Jack Hammons, programový manažér v Linux Systémová skupina, Microsoft.
Jadro poskytnuté pre WSL2 bude plne open source a Microsoft zverejní na GitHube pokyny, ako takéto jadro zostaviť. Spoločnosť bude spolupracovať s vývojármi, ktorí majú záujem prispieť k projektu, a bude podporovať zmeny v upstreame.
Vývojári spoločnosti Microsoft vytvorili WSL2 s využitím systémov kontinuálnej integrácie a kontinuálneho dodávania spoločnosti. Tento softvér bude udržiavaný prostredníctvom systému aktualizácií. Windows a bude úplne transparentné pre používateľa. Jadro zostane aktuálne a bude obsahovať všetky funkcie najnovšej stabilnej vetvy. Linux.
Aby sa zabezpečila dostupnosť zdrojového kódu, spoločnosť lokálne zrkadlí repozitáre a tiež neustále monitoruje obsah mailing listu. Linux v otázkach bezpečnosti a tiež spolupracuje s niekoľkými spoločnosťami, ktoré podporujú databázové operácie v podnikových virtuálnych prostrediach (CVE). To zabezpečuje, že jadro Linux Spoločnosť Microsoft zohľadní najnovšie aktualizácie a odstráni všetky vznikajúce hrozby.
Zmeny smerom nahor sa stávajú povinnými
Spoločnosť Microsoft zabezpečuje, aby sa všetky zmeny jadra šírili smerom nahor – to je dôležitý aspekt filozofie. LinuxUdržiavanie následných záplat je spojené s dodatočnou zložitosťou a v komunite open source to nie je bežná prax.
Cieľom spoločnosti Microsoft, ktorá aktívne využíva Linux – staňte sa disciplinovaným členom tejto komunity a prispievajte zmenami v komunite. Aby sa zabezpečila stabilita dlhodobo podporovaných vetiev, niektoré záplaty – napríklad tie, ktoré obsahujú nové funkcie – môžu byť zahrnuté iba v nových verziách jadra, a nie spätne portované do aktuálnej verzie LTS v režime spätnej kompatibility.
Keď bude k dispozícii zdrojový kód jadra WSL, bude pozostávať z odkazov na sadu záplat a dlhodobú stabilnú časť zdrojového kódu. Spoločnosť Microsoft očakáva, že tento zoznam sa časom zníži, keďže záplaty budú distribuované proti prúdu a budú pridávané nové lokálne záplaty na podporu najnovších funkcií WSL.
Príjemnejšie úpravy okien
Spoločnosť Microsoft tiež oznámila vydanie pripravovanej „zimnej“ verzie. Windows Terminál je nová aplikácia pre používateľov pracujúcich s nástrojmi a shellmi príkazového riadka, konkrétne s príkazovým riadkom, PowerShellom a WSL.

Terminál Windows
Windows Terminál 1.0 ponúka rôzne nastavenia a možnosti konfigurácie, ktoré vám poskytujú väčšiu kontrolu nad vzhľadom okna terminálu, ako aj nad tým, ktoré shell-y/profily sa majú otvárať ako nové karty.
Nastavenia sa uložia do štruktúrovaného textového súboru, čo uľahčí ich konfiguráciu a navrhnutie okna terminálu podľa vašich predstáv.
Spoločnosť Microsoft zastavuje vývoj existujúcej konzoly. Windows, ale vytvorí nový od začiatku a rozhodne sa použiť nový prístup. Windows Terminál je nainštalovaný a beží paralelne s existujúcou aplikáciou. Windows Konzola, dodávaná "po vybalení z krabice".
Ako to funguje
Keď používateľ Windows 10 priamo spúšťa Cmd/PowerShell/atď., čím spúšťa proces pripojený k bežnej inštancii konzoly. Konfiguračný mechanizmus nového terminálu umožňuje používateľom Windows vytvoriť viacero profilov pre všetky požadované shell/aplikácie/nástroje, či už v PowerShelle, príkazovom riadku, Ubuntu, alebo dokonca cez SSH pripojenia k zariadeniam Azure alebo IoT.
Tieto profily môžu zahŕňať vlastné kombinácie štýlov a veľkostí písma, farebné témy a úrovne rozmazania pozadia alebo priehľadnosti. Používatelia si tiež budú môcť vybrať nové písmo s monospace, aby okno terminálu získalo modernejší a elegantnejší vzhľad. Toto písmo obsahuje programátorské ligatúry a bude open-source a hostované vo vlastnom repozitári.
Kľúčové výhody nového príkazového rozhrania Windows – viacero kariet a krásny text. Podpora viacerých kariet bola považovaná za najžiadanejšiu funkciu pri vývoji terminálu. Krásny text sa dosahuje vďaka vykresľovaciemu enginu založenému na DirectWrite/DirectX, ktorý je vybavený akceleráciou GPU.
Engine vykresľuje textové ikony, glyfy a špeciálne znaky nachádzajúce sa v písmach vrátane čínskych, japonských a kórejských ideogramov (CJK), emoji, powerlineov, ikon a programátorských ligatúr. Okrem toho tento engine vykresľuje text oveľa rýchlejšie ako engine GDI, ktorý sa predtým používal v konzole.
Spätná kompatibilita zostáva v plnom poriadku, hoci ak chcete, môžete to skúsiť Windows Terminál.
Časová os: Ako sa to stane
Spoločnosť Microsoft poskytne Windows Terminál cez Microsoft Store v Windows 10 a pravidelne ho aktualizovať. Takto budú používatelia vždy pracovať s najnovšími verziami a najnovšími vylepšeniami – prakticky bez dodatočnej námahy.
Spoločnosť Microsoft plánuje spustiť nový terminál túto zimu. Po spustení Windows V termináli 1.0 budú vývojári pokračovať v práci na mnohých funkciách, ktoré už boli odložené.
Zdrojový kód Windows Terminál a Windows Konzola na GitHub.
Čo môžeme očakávať v budúcnosti?
Možnosť, že Microsoft bude používať vlastné jadro Linux a na iné účely, napríklad na vývoj vlastnej distribúcie Linux, dnes sa to zdá trochu hypotetické.
Výsledok pravdepodobne závisí od toho, či Microsoft dokáže nájsť významný dopyt po takomto produkte a aké komerčné príležitosti by takýto vývoj mohol potenciálne otvoriť, hovorí Charles King.
Myslí si, že spoločnosť sa v dohľadnej budúcnosti zameria na zabezpečenie čoraz užšej kompatibility. Windows и Linux a ich vzájomnú komplementaritu.
Joshua Schwartz sa domnieva, že v tomto prípade bude potrebné zvážiť investíciu do tejto práce oproti jej návratnosti. Keby bol Microsoft dnes veľmi mladou spoločnosťou, pravdepodobne by všetko robil na základe LinuxAvšak portovanie všetkých vývojov, ktoré už spoločnosť Microsoft ponúka, na natívnu architektúru Linux, dnes sa javí ako drahý a zložitý projekt, ktorý sa pravdepodobne dobre nevyplatí. Fanúšikovia Linux dostanú si pre seba Linuxa základná architektúra zostane zachovaná.
Keď Apple v roku 2000 znovuobjavil Mac OS, operačný systém bol postavený na BSD Unix, ktorý je viac podobný Linuxnež s DOSom. Dnes nová verzia Microsoftu Windows je vytvorený práve na tomto základe Linux.
Možno sa nám otvárajú nové dvere?
jadro Linux od spoločnosti Microsoft by mohli vydláždiť cestu k užšej spolupráci medzi službami Windows a operačný systém LinuxV podstate tento vývoj spoločnosti Microsoft naznačuje, že aj v rámci spoločnosti Microsoft už chápe: dnes už takmer nezostali žiadni zákazníci, ktorí by uprednostňovali existenciu vo svete, kde je všetko kontinuálne. Windows.
Oveľa logickejšie je používať heterogénne technológie a systémy, ktoré najlepšie spĺňajú obchodné požiadavky a špecifické praktické situácie.
Dôležitejšou strategickou otázkou je, aké nové strategické príležitosti tento krok otvára pre samotnú platformu Microsoftu?
Azure, cloudový ekosystém spoločnosti Microsoft, už teraz poskytuje obrovskú podporu Linux. Skôr Windows dobre podporované Linux pomocou virtuálnych strojov.
Zásadné zmeny, ku ktorým dnes dochádza, súvisia so skutočnosťou, že teraz procesy Linux bude spustený natívne v jadre Windows, čo znamená pracovať s Linux z Windows bude bežať oveľa rýchlejšie ako na virtuálnych počítačoch. Je celkom možné, že v dôsledku toho bude Azure obohatený o celú vrstvu inžinierov, ktorí budú používať Linux v priemyselnom meradle.
Zdroj: hab.com
