Прывітанне, Хабр!
Пакуль у нас на ўсю моц працягваецца
У траўні гэтага года кампанія 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.
Тэрмінал 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
Што нас можа чакаць у далейшым?
Магчымасць таго, што 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