Penguin sa window: tungkol sa potensyal at mga prospect ng WSL2

Hoy Habr!

Habang puspusan pa kami Summer Sale, gusto ka naming imbitahan na talakayin ang isa sa mga pinakamalaking paksa na pinagtatrabahuhan namin kamakailan - ang pakikipag-ugnayan ng Windows at Linux, na nauugnay, lalo na, sa pagbuo ng system WSL. Ang WSL 2 ay paparating na, at narito ang isang mabilis na pangkalahatang-ideya ng kung ano ang darating sa subsystem na ito, pati na rin ang isang pagtataya para sa hinaharap na pagsasama sa pagitan ng Windows at Linux.

Penguin sa window: tungkol sa potensyal at mga prospect ng WSL2

Noong Mayo ng taong ito, inihayag ng Microsoft na ang WSL2, ang pinakabagong bersyon ng Windows subsystem sa Linux, ay tatakbo sa isang buong Linux kernel na binuo sa loob ng bahay.
Ito ay minarkahan ang unang pagkakataon na isinama ng Microsoft ang Linux kernel bilang bahagi sa Windows. Ang Microsoft ay nagpapakilala rin ng command line sa Windows na magpapalawak ng mga kakayahan ng PowerShell at WSL.

Parehong ang Linux kernel para sa WSL2, na nilikha ng Microsoft, at ang bagong Windows command line ay pangunahing interesado sa mga developer.

"Ito ang pinakamalakas na hakbang sa laro laban sa AWS," sabi ni Joshua Schwartz, direktor ng mga programa sa digitalization sa consulting firm na AT Kearney.

Ang hinaharap ng Microsoft ay hindi konektado sa merkado ng PC, bagama't magpapatuloy itong matatag na hahawakan ang posisyon nito sa segment na ito. Magiging mas mahalaga na magkaroon ng foothold sa cloud market, ang isa sa mga bahagi nito sa hinaharap ay maaaring mga desktop PC.

Ano ang ginagawa ng WSL2?

Ang WSL2 ay ang pinakabagong Windows Subsystem framework para sa Linux. Binibigyang-daan ka nitong radikal na pagbutihin ang pagganap ng file system at nagbibigay ng ganap na pagiging tugma sa mga tawag sa system.

Ang isa sa mga pangunahing kahilingan mula sa komunidad ng WSL ay nauugnay sa pagpapabuti ng functionality. Ang WSL2 ay nagpapatakbo ng higit pang mga tool sa Linux kaysa sa WSL, lalo na ang Docker at FUSE.
Pinangangasiwaan ng WSL2 ang mga pagpapatakbo ng file-intensive, partikular ang git clone, npm install, apt update, at apt upgrade. Ang aktwal na pagtaas ng bilis ay nakasalalay sa partikular na aplikasyon at kung paano ito nakikipag-ugnayan sa file system.

Ang mga unang pagsubok ay nagpakita na ang WSL2 ay humigit-kumulang 20 beses na mas mabilis kaysa sa WSL1 sa pag-unpack ng tar mula sa zip. Kapag gumagamit ng git clone, npm install at cmake sa iba't ibang mga proyekto, nagpakita ang system ng dalawa hanggang limang beses na pagtaas sa pagganap.

Makakatulong ba ito na makuha ang tiwala ng mga developer?

Sa esensya, hinahangad ng Microsoft na magkaroon ng pagkilala at pagtitiwala sa komunidad ng developer sa pamamagitan ng pagbuo ng sarili nitong bersyon ng Linux kernel upang suportahan ang mga proseso ng WSL2, sabi ni Cody Swann, CEO ng Gunner Technology.

"Bukod sa mahigpit na pagbuo para sa Windows, ang paglikha ng lahat ng iba pang mga application - cloud, mobile, web application - sa isang PC ay labis na hindi maginhawa, kaya naman ang developer ay kailangang mag-boot ng isang pamamahagi ng Linux na kahanay sa Windows OS. Nakilala ito ng Microsoft at nakaisip ng solusyon," pagtatapos niya.

Hindi malamang na ang pagpapakilala ng custom na Linux kernel ay magkakaroon ng malubhang epekto sa system mula sa punto ng view ng karaniwang gumagamit. Gayunpaman, nagbubukas ito ng mga pagkakataon para sa mas malapit na pakikipag-ugnayan sa pagitan ng mga serbisyo ng Microsoft at ng Linux operating system.
Ang hakbang na ito sa bahagi ng Microsoft ay talagang napakatalino, dahil nakakatulong itong tumagos nang mas malalim sa komunidad ng developer, pati na rin ang aktibong paggamit ng mga produkto na ginagawa ng ibang tao - iyon ay, kumonekta sa open source, sabi ni Swann.

Maligayang pagdating sa Bagong Microsoft

Ang trend patungo sa paglikha at pagpapanatili ng Linux kernel "partikular para sa Windows" ay sumasalamin sa malakas na open-source na direksyon na itinataguyod ng CEO na si Satya Nadella. Ang Microsoft ay hindi na katulad noong nasa ilalim ng Gates at Ballmer, nang ang lahat ay itinago sa likod ng isang pagmamay-ari na bakod, at walang sinuman ang nag-iisip tungkol sa interoperability.

"Ganap na binago ni Satya ang Microsoft sa isang mas modernong platform, at ang diskarte na iyon ay nagbunga nang malaki. Kumusta, trilyong dolyar na capitalization," sabi ni Schwartz.

Ayon kay Charles King, principal analyst sa Pund-IT, ang dalawang pangunahing lakas ng Microsoft ay ang kahusayan at seguridad.

"Sa pamamagitan ng aktibong paggamit ng sarili nitong seryosong mga pag-unlad - mga mapagkukunan at mga tool - magagarantiyahan ng kumpanya ang mga customer na ang kernel ay magiging ganap na napapanahon at nilagyan ng pinakabagong mga patch at pag-aayos upang matiyak ang kumpletong seguridad," dagdag niya.

Nakikinabang din ang mga developer

Ang mga binary ng Linux ay gumaganap ng maraming function gamit ang mga system call, tulad ng pag-access ng mga file, paghiling ng memorya, at paggawa ng mga proseso. Ang WSL1 ay umaasa sa isang layer ng pagsasalin upang bigyang-kahulugan ang marami sa mga tawag sa system na ito at payagan silang makipag-ugnayan sa kernel ng Windows NT.

Ang pinakamahirap na bagay ay ipatupad ang lahat ng mga tawag sa system. Dahil hindi ito ginawa sa WSL1, hindi gumana ang ilang application doon. Ang WSL2 ay nagpapakilala ng maraming bagong application na gumagana nang maayos sa kapaligirang ito.

Ang bagong arkitektura ay nagpapahintulot sa Microsoft na dalhin ang pinakabagong mga pag-optimize sa Linux kernel nang mas mabilis kaysa sa WSL1. Maaaring i-update ng Microsoft ang WSL2 core sa halip na muling ipatupad ang lahat ng mga paghihigpit.

Ganap na open source na tool

Ang pagbuo ng Microsoft ng sarili nitong Linux kernel ay ang pagtatapos ng mga taon ng trabaho ng Linux Systems Group, gayundin ng maraming iba pang mga koponan sa buong Microsoft, sabi ni Jack Hammons, program manager sa Linux Systems Group, Microsoft.

Ang kernel na ibinigay para sa WSL2 ay magiging ganap na open source, at ang Microsoft ay magpo-post ng mga tagubilin kung paano bumuo ng ganoong kernel sa GitHub. Makikipag-ugnayan ang kumpanya sa mga developer na handang tumulong sa proyekto at humimok ng bottom-up na pagbabago.

Ang mga developer ng Microsoft ay lumikha ng WSL2 gamit ang tuluy-tuloy na pagsasama ng kumpanya at tuluy-tuloy na mga sistema ng paghahatid. Ihahatid ang software na ito sa pamamagitan ng Windows update system at magiging ganap na transparent sa user. Ang kernel ay mananatiling napapanahon at kasama ang lahat ng mga tampok ng pinakabagong matatag na sangay ng Linux.

Upang matiyak ang pagkakaroon ng source, ang kumpanya ay nagsasalamin sa mga repositoryo nang lokal, patuloy na sinusubaybayan ang mga nilalaman ng Linux security mailing list, at nakikipagsosyo sa ilang kumpanya na sumusuporta sa mga database sa enterprise virtual environment (CVEs). Tinitiyak nito na ang Linux kernel ng Microsoft ay napapanahon sa mga pinakabagong update at inaalis ang anumang mga umuusbong na banta.

Nagiging mandatoryo ang mga pagbabago sa ibaba

Tinitiyak ng Microsoft na ang lahat ng mga pagbabago sa kernel ay pinalaganap sa agos, isang mahalagang aspeto ng pilosopiya ng Linux. Ang pagsuporta sa mga downstream na patch ay may karagdagang pagiging kumplikado; Bukod dito, ang kasanayang ito ay hindi karaniwan sa open source na komunidad.

Ang layunin ng Microsoft bilang aktibong gumagamit ng Linux ay maging isang disiplinadong miyembro ng komunidad at mag-ambag ng mga pagbabago sa komunidad. Upang matiyak ang katatagan ng mga sangay na nauugnay sa pangmatagalang suporta, ang ilang mga patch - halimbawa ang mga naglalaman ng mga bagong feature - ay maaari lamang isama sa mga bagong bersyon ng kernel, at hindi i-port sa kasalukuyang bersyon ng LTS sa backward compatibility mode.

Kapag available na ang mga pangunahing pinagmumulan ng WSL, bubuo ang mga ito ng mga link sa isang hanay ng mga patch at isang matagal nang matatag na bahagi ng mga pinagmulan. Inaasahan ng Microsoft na lumiliit ang listahang ito sa paglipas ng panahon habang ang mga patch ay ipinamamahagi sa upstream at ang mga bagong lokal na patch ay idinagdag upang suportahan ang mga bagong tampok ng WSL.

Mas magandang disenyo ng bintana

Inanunsyo din ng Microsoft ang paparating na winter version ng Windows Terminal, isang bagong app para sa mga user na nagtatrabaho sa mga tool at shell ng command line, gaya ng Command Prompt, PowerShell, at WSL.

Penguin sa window: tungkol sa potensyal at mga prospect ng WSL2

Windows Terminal

Nag-aalok ang Windows Terminal 1.0 ng maraming mga setting at opsyon sa pagsasaayos na nagbibigay sa iyo ng higit na kontrol sa hitsura ng terminal window, gayundin sa mga shell/profile na dapat magbukas bilang mga bagong tab.

Ise-save ang mga setting sa isang structured na text file, na ginagawang madaling i-configure at idisenyo ang terminal window sa iyong panlasa.

Hindi na pinipino ng Microsoft ang umiiral nang Windows console at gumagawa ng bago mula sa simula, nagpapasyang kumuha ng bagong diskarte. Ang Windows Terminal ay nag-i-install at tumatakbo nang kaayon ng umiiral na Windows Console application na lalabas sa kahon.

Как это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

Kapag direktang inilunsad ng isang user ng Windows 10 ang Cmd/PowerShell/etc, ma-trigger ang prosesong naka-attach sa regular na Console instance. Ang configuration engine ng bagong terminal ay nagbibigay-daan sa mga user ng Windows na lumikha ng maraming profile para sa lahat ng kanilang gustong shell/application/tool, maging sa PowerShell, Command Prompt, Ubuntu, o kahit na mga koneksyon sa SSH sa Azure o IoT na mga device.

Ang mga profile na ito ay maaaring magbigay ng kanilang sariling mga kumbinasyon ng disenyo at laki ng font, mga tema ng kulay, mga antas ng blur sa background o transparency. Bilang karagdagan, ang mga user ay makakapili ng bagong monospace na font para gawing mas moderno at cool ang terminal window. Ang font na ito ay naglalaman ng mga programmer ligature; ito ay gagawing available sa publiko at iimbak sa sarili nitong repository.

Ang pangunahing bentahe ng bagong interface ng command ng Windows ay maraming mga tab at magagandang teksto. Ang suporta para sa maramihang mga tab ay itinuturing na pinaka-hinihiling na kahilingan para sa pagpapaunlad ng terminal. Nakukuha ang magagandang text salamat sa rendering engine batay sa DirectWrite/DirectX, na nilagyan ng GPU acceleration.

Ang makina ay nagpapakita ng mga icon ng teksto, mga glyph at mga espesyal na character na makikita sa mga font, kabilang ang mga Chinese, Japanese at Korean ideograms (CJK), emoji, mga simbolo ng powerline, mga icon at mga ligature ng programming. Bilang karagdagan, ang engine na ito ay nag-render ng text nang mas mabilis kaysa sa GDI na ginamit sa console.

Ang backward compatibility ay nananatili sa buong pagkakasunud-sunod, kahit na maaari mong subukan ang Windows Terminal kung gusto mo.

Kronolohiya: paano ito mangyayari

Magbibigay ang Microsoft ng Windows Terminal sa pamamagitan ng Microsoft Store sa Windows 10 at regular itong i-update. Sa ganitong paraan, ang mga user ay palaging magiging up to date sa mga pinakabagong bersyon at pinakabagong mga pagpapahusay – na halos walang labis na pagsisikap.

Plano ng Microsoft na maglunsad ng bagong terminal sa darating na taglamig. Sa sandaling ilunsad ng Microsoft ang Windows Terminal 1.0, patuloy na gagana ang mga developer sa marami sa mga feature na naka-backlog na.

Windows Terminal at Windows Console Source Code naka-post na sa GitHub.

Ano ang naghihintay sa atin sa hinaharap?

Ang posibilidad na ang Microsoft ay gagamit ng sarili nitong Linux kernel para sa iba pang layunin, halimbawa, upang bumuo ng sarili nitong pamamahagi ng Linux, ay tila hypothetical ngayon.

Ang kinalabasan ay malamang na nakasalalay sa kung ang Microsoft ay namamahala upang makahanap ng makabuluhang demand para sa naturang produkto, at kung anong mga komersyal na pagkakataon ang maaaring mabuksan ng mga naturang pag-unlad, sabi ni Charles King.

Sa palagay niya, ang focus ng kumpanya para sa nakikinitaang hinaharap ay ang paggawa ng Windows at Linux na lalong magkatugma at magkatugma sa isa't isa.

Naniniwala si Joshua Schwartz na sa kasong ito, kakailanganing timbangin kung ano ang magiging puhunan sa gawaing ito at kung ano ang magiging kita nito. Kung ang Microsoft ay isang napakabata na kumpanya ngayon, malamang na gagawin nito ang lahat batay sa Linux. Gayunpaman, ang pag-port ng lahat ng mga development na magagamit na mula sa Microsoft sa katutubong arkitektura ng Linux ngayon ay tila isang mahal at kumplikadong proyekto na malamang na hindi mabayaran nang maayos. Ang mga mahilig sa Linux ay makakakuha ng kanilang sariling Linux at ang pangunahing arkitektura ay mananatiling buo.

Nang muling imbento ng Apple ang Mac OS noong 2000, ang operating system ay batay sa BSD Unix, na mas katulad ng Linux kaysa sa DOS. Ngayon, isang bagong bersyon ng Microsoft Windows ang ginagawa batay sa Linux.

Baka may bagong pinto na nagbubukas para sa atin?

Ang Linux kernel ng Microsoft ay maaaring magbigay daan para sa higit na interoperability sa pagitan ng mga serbisyo ng Windows at ng Linux operating system. Sa esensya, ang mga pag-unlad na ito ng Microsoft ay nagpapahiwatig na ang Microsoft mismo ay nauunawaan na: ngayon halos walang mga customer na natitira na mas gustong umiral sa isang mundo kung saan ang lahat ay Windows.

Mas makatuwirang gumamit ng magkakaibang mga teknolohiya at system na pinakamahusay na nakakatugon sa mga kinakailangan sa negosyo at mga partikular na praktikal na sitwasyon.

Ang mas malaking madiskarteng tanong ay, anong mga bagong madiskarteng pagkakataon ang nagbubukas ng hakbang na ito para sa Microsoft platform mismo?

Ang Azure, ang cloud ecosystem ng Microsoft, ay nagbibigay na ng napakalaking suporta para sa Linux. Dati, mahusay na suportado ng Windows ang Linux gamit ang mga virtual machine.

Ang mga pangunahing pagbabagong nagaganap ngayon ay dahil sa ang katunayan na ngayon ang mga proseso ng Linux ay tatakbo nang native sa Windows kernel, na nangangahulugan na ang pagtatrabaho sa Linux mula sa Windows ay magiging mas mabilis kaysa sa mga virtual machine. Malamang na bilang isang resulta, pagyamanin ng Azure ang sarili nito sa isang buong layer ng mga inhinyero na gumagamit ng Linux sa isang pang-industriya na sukat.

Pinagmulan: www.habr.com

Magdagdag ng komento