Пінгвін у акне: аб патэнцыяле і даляглядах WSL2

Прывітанне, Хабр!

Пакуль у нас на ўсю моц працягваецца летні распродаж, мы хацелі б прапанаваць вам абмеркаваць адну з самых маштабных тэм, якую прапрацоўваем у апошні час – узаемадзеянне Windows і Linux, звязанае, у прыватнасці, з развіццём сістэмы WSL. WSL 2 ужо на падыходзе, і вашай увазе прапануецца кароткі агляд магчымасцяў, якія чакаюць нас у гэтай падсістэме, а таксама прагноз далейшай інтэграцыі Windows і Linux.

Пінгвін у акне: аб патэнцыяле і даляглядах WSL2

У траўні гэтага года кампанія Microsoft абвясціла, што WSL2, найноўшая версія падсістэмы Windows на Linux, будзе працаваць на паўнавартасным ядры Linux, сабраным у кампаніі.
Такім чынам, Microsoft упершыню ўключае ў Windows ядро ​​Linux у якасці аднаго з кампанентаў. Таксама Microsoft уводзіць у Windows камандны радок, якая пашырыць магчымасці PowerShell і WSL.

Як ядро ​​Linux для WSL2, створанае сіламі Microsoft, так і новы камандны радок Windows цікавыя, першым чынам, распрацоўнікам.

"Гэта найбольш моцны ход у партыі супраць AWS," адзначае Джошуа Швартц, кіраўнік праграм цыфравізацыі ў кансалтынгавай кампаніі AT Kearney.

Будучыня Microsoft злучана не з рынкам ПК, хоць, яна і ў далейшым будзе трывала ўтрымліваць пазіцыі ў гэтым сегменце. Значна важней будзе замацавацца на хмарным рынку, адной са складнікаў якога ў будучыні змогуць стаць і настольныя ПК.

Што робіць WSL2

WSL2 - гэта найноўшая інфраструктура падсістэмы Windows для Linux. Яна дазваляе радыкальна павысіць прадукцыйнасць файлавай сістэмы і забяспечвае поўную сумяшчальнасць з сістэмнымі выклікамі.

Адзін з асноўных запытаў WSL-супольнасці быў злучаны з дапрацоўкай функцыяналу. На WSL2 працуе значна больш прылад пад Linux, чым на WSL, у прыватнасці, Docker і FUSE.
WSL2 апрацоўвае інтэнсіўныя файлавыя аперацыі, у прыватнасці, git clone, npm install, apt update і apt upgrade. Фактычнае павелічэнне хуткасці залежыць ад канкрэтнага дадатку і ад таго, як яно ўзаемадзейнічае з файлавай сістэмай.

Першыя тэсты паказалі, што WSL2 прыкладна ў 20 разоў хутчэй WSL1 спраўляецца з распакаваннем tar з zip. Пры выкарыстанні git clone, npm install і cmake у розных праектах сістэма паказвала рост прадукцыйнасці ў два-пяць разоў.

Ці дапаможа гэта заваяваць давер распрацоўшчыкаў?

У сутнасці, Microsoft імкнецца здабыць прызнанне і давер у супольнасці распрацоўнікаў, беручыся за распрацоўку ўласнай версіі ядра Linux для падтрымкі працэсаў WSL2 – лічыць Кодзі Суон, CEO ў Gunner Technology.

«Калі не лічыць распрацоўкі строга пад Windows, стварэнне ўсіх іншых прыкладанняў – хмарных, мабільных, вэб-прыкладанняў – на ПК было вельмі нязручным, з-за чаго распрацоўніку так ці інакш даводзілася загружаць дыстрыбутыў Linux раўналежна з АС Windows. Microsoft гэта прызнала і прапанавала рашэнне,» заключае ён.

Малаверагодна, што ўкараненне ўласнага ядра Linux сур'ёзна адаб'ецца на працы з сістэмай з пункта гледжання звычайнага карыстача. Аднак, у такім разе адчыняюцца магчымасці для больш цеснага ўзаемадзеяння паміж службамі Microsoft і аперацыйнай сістэмай Linux.
Такі ход з боку Microsoft сапраўды вельмі пісьменны, паколькі дапамагае глыбей пракрасціся ў супольнасць распрацоўнікаў, а таксама актыўна карыстацца прадуктамі, якія развівае хтосьці яшчэ – гэта значыць, падлучыцца да апенсорсу – лічыць Суон.

Сардэчна запрашаем у Нью-Майкрасофт

Трэнд у бок стварэння і падтрымкі ядра Linux спецыяльна пад Windows адлюстроўвае рашучую скіраванасць развіцця ў бок опэн-сорса, якую прасоўвае CEO Сатья Наделла (Satya Nadella). Microsoft ужо не той, што пры Гейтсе і Балмеры, калі ўсё захоўвалася за прапрыетарным частаколам, а аб інтэраперабельнасці ніхто і не задумляўся.

«Сатья цалкам змяніў Microsoft у значна больш сучасную платформу, і гэтая стратэгія акупілася сто разоў. Прывітанне, капіталізацыя ў трыльёны даляраў», - кажа Швартц.

Па меркаванні Чарльза Кінга, галоўнага аналітыка ў Pund-IT, дзве асноўных добрыя якасці Microsoft звязаныя з эфектыўнасцю і бяспекай.

"Актыўна выкарыстоўваючы ўласныя сур'ёзныя напрацоўкі – рэсурсы і інструменты – кампанія можа гарантаваць кліентам, што ядро ​​будзе цалкам актуальным і абсталяваным найноўшымі патчамі і выпраўленнямі, якія забяспечваюць поўную бяспеку", – дадае ён.

Распрацоўнікі - таксама ў выйгрышы

Двайковыя файлы Linux выконваюць шматлікія функцыі пры дапамозе сістэмных выклікаў, напрыклад, звяртаюцца да файлаў, запытваюць памяць і ствараюць працэсы. WSL1 абапіраецца на ўзровень трансляцыі, які інтэрпрэтуе шматлікія з гэтых сістэмных выклікаў і што дазваляе ім узаемадзейнічаць з ядром Windows NT.

Самае складанае - рэалізаваць усе сістэмныя выклікі. Паколькі ў WSL1 гэта зроблена не было, некаторыя прыкладанні там працаваць не маглі. У WSL2 з'яўляецца мноства новых прыкладанняў, якія нармальна працуюць у дадзеным асяроддзі.

Новая архітэктура дазваляе Microsoft уносіць найноўшыя аптымізацыі ў ядро ​​Linux значна хутчэй, чым у выпадку WSL1. Microsoft можа абнаўляць ядро ​​WSL2, а не рэалізоўваць усе абмежаванні нанова.

Цалкам апенсорсны інструмент

Распрацоўка ўласнага ядра Linux кампаніяй Microsoft стала кульмінацыяй шматгадовай працы, праведзенай Linux Systems Group, а таксама многіх іншых каманд, якія дзейнічаюць ва ўсёй карпарацыі Microsoft - сведчыць Джэк Хэманс (Jack Hammons), менеджэр праграм у Linux Systems Group, Microsoft.

Ядро, якое прадстаўляецца для WSL2, будзе цалкам апенсорсным, і Microsoft выкладзе на GitHub інструкцыі аб тым, як сабраць такое ядро. Кампанія будзе ўзаемадзейнічаць з распрацоўшчыкамі, якія жадаюць дапамагчы праекту, і стымуляваць ўзыходзячыя змены.

Распрацоўнікі Microsoft стваралі WSL2 пры дапамозе сістэм бесперапыннай інтэграцыі і бесперапыннай дастаўкі, якія дзейнічаюць у кампаніі. Гэты софт будзе абслугоўвацца праз сістэму абнаўленняў Windows і будзе цалкам празрысты для карыстальніка. Ядро будзе заставацца актуальным і ўключаць усе магчымасці найноўшай стабільнай галіны Linux.

Каб забяспечыць даступнасць зыходнікаў, кампанія люстэрка рэпазітара лакальна, а таксама ўвесь час маніторыць змесціва паштовай рассылкі Linux па праблемах бяспекі, а таксама супрацоўнічае з некалькімі кампаніямі, якія падтрымліваюць працу з базамі дадзеных у карпаратыўным віртуальным асяроддзі (CVE). Такім чынам гарантуецца, што ў ядры Linux ад Microsoft будуць улічвацца найноўшыя абнаўленні і ўхіляцца ўсе якія ўзнікаюць пагрозы.

Узыходзячыя змены становяцца абавязковымі

Microsoft гарантуе, што ўсе змены ядра будуць распаўсюджвацца ва ўзыходзячым кірунку - гэта важны аспект філасофіі Linux. Падтрымка сыходных патчаў спалучана з дадатковай складанасцю; акрамя таго, такая практыка не з'яўляецца агульнапрынятай у супольнасці свабоднай распрацоўкі.

Мэта Microsoft, актыўна выкарыстоўвалай Linux -стаць дысцыплінаваным чальцом гэтай супольнасці і пастаўляць уносныя змены ў распараджэнне супольнасці. Каб дамагчыся стабільнасці галінак, звязаных з доўгатэрміновай падтрымкай, некаторыя патчы - напрыклад, якія змяшчаюць новыя магчымасці - могуць уключацца толькі ў новыя версіі ядра, а не партавацца ў бягучую версію LTS у рэжыме зваротнай сумяшчальнасці.

Калі будуць даступныя зыходнікі ядра WSL, яны будуць складацца са спасылак на набор патчаў і з доўгайграючай стабільнай часткі зыходнікаў. Microsoft разлічвае, што з часам гэты спіс скароціцца, па меры распаўсюджвання патчаў ва ўзыходзячым кірунку, і новыя лакальныя патчы будуць дадавацца для падтрымкі свежых магчымасцяў WSL.

Прыямнейшае афармленне вокнаў

Microsoft таксама анансавала выйсце якая рыхтуецца "зімовай" версіі Windows Terminal – гэта новае прыкладанне для карыстачоў, якія працуюць з прыладамі каманднага радка і абалонкамі, у прыватнасці, Command Prompt, PowerShell і WSL.

Пінгвін у акне: аб патэнцыяле і даляглядах WSL2

Тэрмінал Windows

Windows Terminal 1.0 прапануе мноства налад і канфігурацыйных магчымасцяў, якія даюць больш поўны кантроль над афармленнем акна тэрмінала, а таксама над абалонкамі/профілямі, якія павінны адчыняцца як новыя ўкладкі.

Налады будуць захоўвацца ў структураваным тэкставым файле, дзякуючы чаму іх стане лёгка канфігураваць і афармляць акно тэрмінала на свой густ.

Microsoft спыняе дапрацоўку наяўнай кансолі Windows, а стварае новую з нуля, вырашыўшы ўжыць пры гэтым свежы падыход. Windows Terminal усталёўваецца і і працуе раўналежна з наяўным дадаткам Windows Console, пастаўляным «са скрынкі».

Як гэта працуе

Калі карыстач Windows 10 напроста запускае Cmd/PowerShell/т.д, спрацоўвае працэс, прымацаваны да звычайнага асобніка Console. Механізм канфігурацыі новага тэрмінала дазваляе карыстачам Windows ствараць мноства профіляў для ўсіх жаданых абалонак/прыкладанняў/інструментаў, няхай гэта будзе ў PowerShell, камандным радку, Ubuntu, ці нават пры SSH-злучэннях з Azure або прыладамі Інтэрнэту Рэчаў.

У гэтых профілях могуць прадугледжвацца ўласныя камбінацыі афармлення і кегля шрыфта, каляровыя тэмы, узроўні размыцця або празрыстасці фону. Акрамя таго, карыстачы змогуць абраць новы монашырынны шрыфт, каб акно тэрмінала выглядала сучасней і страмчэй. У гэтым шрыфце прадугледжаны праграммерскія лігатуры, ён будзе выкладзены ў адкрыты доступ і стане захоўвацца ва ўласным рэпазітары.

Асноўныя добрыя якасці новага каманднага інтэрфейсу Windows - мноства ўкладак і прыгожы тэкст. Падтрымка мноства ўкладак лічылася самым запатрабаваным запытам наконт распрацоўкі тэрмінала. Прыгожы тэкст атрымліваецца дзякуючы рухавічку рэндэрынгу на аснове DirectWrite/DirectX, абсталяванага GPU-паскарэннем.

Рухавічок адлюстроўвае тэкставыя значкі, гліфы і спецыяльныя сімвалы, якія ёсць у шрыфтах, у тым ліку, кітайскія, японскія і карэйскія ідэаграмы (CJK), эмодзі, сімвалы powerline, абразкі і праграмерскія лігатуры. Акрамя таго, гэты рухавічок адлюстроўвае тэкст значна хутчэй, чым GDI, раней які выкарыстоўваўся ў кансолі.

Зваротная сумяшчальнасць застаецца ў поўным парадку, хоць, пры жаданні можна паспрабаваць і Windows Terminal.

Храналогія: як гэта будзе

Microsoft будзе падаваць Windows Terminal праз Microsoft Store у Windows 10 і рэгулярна яго абнаўляць. Такім чынам, карыстачы заўсёды будуць працаваць з найноўшымі версіямі і самымі апошнімі дапрацоўкамі практычна без лішніх высілкаў.

Microsoft плануе запусціць новы тэрмінал бліжэйшай зімой. Пасля таго як Microsoft выкаціць Windows Terminal 1.0, распрацоўнікі працягнуць займацца мноствам магчымасцяў, ужо адкладзеных у бэклог.

Зыходны код Windows Terminal і Windows Console ужо выкладзены на GitHub.

Што нас можа чакаць у далейшым?

Магчымасць таго, што Microsoft стане выкарыстоўваць уласнае ядро ​​Linux і для іншых мэт, напрыклад, для распрацоўкі свайго дыстрыбутыва Linux, сёння здаецца некалькі гіпатэтычнай.

Верагодна, зыход залежыць ад таго, ці атрымаецца Microsoft выявіць прыкметны попыт на такі прадукт, і якія камерцыйныя магчымасці патэнцыйна могуць адкрыць такія распрацоўкі – лічыць Чарльз Кінг.

Ён думае, што ў агляднай будучыні кампанія засяродзіць асноўную працу на забеспячэнні ўсё больш цеснай сумяшчальнасці Windows і Linux і іх узаемным дадатку.

Джошуа Швартц мяркуе, што ў дадзеным выпадку спатрэбіцца ўзважыць, якія будуць укладанні ў гэтую працу, і якая - аддача ад яе. Калі б сёння Microsoft была зусім маладой кампаніяй, то, верагодна, усё рабіла б на аснове Linux. Аднак, партаванне ўсіх напрацовак, ужо наяўных у Microsoft, на натыўную архітэктуру Linux, сёння ўяўляецца дарагім і складаным праектам, які ці ледзь добра акупіцца. Аматары Linux атрымаюць сабе Linux, а асноўная архітэктура застанецца некранутай.

Калі Apple у 2000 году зноўку вынайшла Mac OS, гэтая аперацыйная сістэма будавалася на аснове BSD Unix, якая больш падобная з Linux, чым з DOS. Сёння ж новая версія Microsoft Windows ствараецца менавіта на базе Linux.

Магчыма, перад намі адчыняюцца новыя дзверы?

Ядро Linux ад Microsoft можа адкрыць шлях для больш цеснага ўзаемадзеяння паміж службамі Windows і аперацыйнай сістэмай Linux. У сутнасці, гэтыя напрацоўкі Microsoft сведчаць аб тым, што і ў самой кампаніі Microsoft ужо разумеюць: сёння амаль не засталося кліентаў, якія аддаюць перавагу існаваць у свеце, дзе ўсюды суцэльная Windows.

Значна больш разумна выкарыстоўваць гетэрагенныя тэхналогіі і сістэмы, якія найбольш поўна адпавядаюць бізнес-патрабаванням і канкрэтным практычным сітуацыям.

Найважнейшае стратэгічнае пытанне складаецца ў тым, якія новыя стратэгічныя магчымасці адчыняе такі ход для самой платформы Microsoft?

Azure - хмарная экасістэма ад Microsoft - ужо падае каласальную падтрымку Linux. Раней Windows добра падтрымлівала Linux пры дапамозе віртуальных машын.

Прынцыповыя змены, якія адбываюцца сёння, звязаныя з тым, што зараз працэсы Linux будуць натыўна выконвацца на ядры Windows, а значыць - праца з Linux з Windows пойдзе значна хутчэй, чым на віртуальных машынах. Цалкам верагодна, што ў выніку Azure узбагаціцца цэлай праслойкай інжынераў, якія выкарыстоўваюць Linux у прамысловых маштабах.

Крыніца: habr.com

Дадаць каментар