Pingvin u prozoru: o potencijalu i izgledima WSL2

Hej Habr!

Dok smo još u punom pogonu ljetna rasprodaja, želimo vas pozvati na raspravu o jednoj od najvećih tema kojom smo se bavili u posljednje vrijeme - interakciji Windowsa i Linuxa, vezanoj, posebice, za razvoj sustava WSL. WSL 2 je na putu, a evo kratkog pregleda onoga što će doći u ovom podsustavu, kao i predviđanja buduće integracije između Windowsa i Linuxa.

Pingvin u prozoru: o potencijalu i izgledima WSL2

U svibnju ove godine, Microsoft je najavio da će WSL2, najnovija verzija Windows podsustava na Linuxu, raditi na potpunom Linux kernelu izgrađenom u kući.
Ovo je prvi put da je Microsoft uključio Linux kernel kao komponentu u Windows. Microsoft također uvodi naredbeni redak u Windows koji će proširiti mogućnosti PowerShell-a i WSL-a.

I Linux kernel za WSL2, koji je stvorio Microsoft, i novi Windows naredbeni redak zanimljivi su prvenstveno programerima.

"Ovo je najjači potez u igri protiv AWS-a", kaže Joshua Schwartz, direktor programa digitalizacije u konzultantskoj tvrtki AT Kearney.

Budućnost Microsofta nije vezana uz tržište osobnih računala, iako će i dalje čvrsto držati svoju poziciju u tom segmentu. Bit će puno važnije učvrstiti se na tržištu oblaka, čija bi jedna od komponenti u budućnosti mogla biti stolna računala.

Što radi WSL2?

WSL2 je najnoviji okvir Windows podsustava za Linux. Omogućuje radikalno poboljšanje performansi datotečnog sustava i pruža punu kompatibilnost sa sistemskim pozivima.

Jedan od glavnih zahtjeva WSL zajednice odnosio se na poboljšanje funkcionalnosti. WSL2 pokreće mnogo više Linux alata nego WSL, posebice Docker i FUSE.
WSL2 obrađuje operacije koje zahtijevaju velike količine datoteka, posebno git clone, npm install, apt update i apt nadogradnju. Stvarno povećanje brzine ovisi o specifičnoj aplikaciji i načinu na koji ona komunicira sa sustavom datoteka.

Prvi testovi su pokazali da je WSL2 oko 20 puta brži od WSL1 u raspakiranju tar-a iz zip-a. Kada koristite git clone, npm install i cmake u raznim projektima, sustav je pokazao povećanje performansi od dva do pet puta.

Hoće li to pomoći da se stekne povjerenje programera?

U biti, Microsoft nastoji steći priznanje i povjerenje u zajednici programera razvijanjem vlastite verzije Linux kernela za podršku WSL2 procesa, rekao je Cody Swann, izvršni direktor Gunner Technology.

“Osim što se razvijao isključivo za Windows, kreiranje svih ostalih aplikacija - cloud, mobilnih, web aplikacija - na PC-u bilo je izuzetno nezgodno, zbog čega je programer nekako morao pokrenuti distribuciju Linuxa paralelno s Windows OS-om. Microsoft je to prepoznao i došao do rješenja”, zaključuje.

Malo je vjerojatno da će uvođenje prilagođene jezgre Linuxa imati ozbiljan utjecaj na sustav sa stajališta prosječnog korisnika. Međutim, to otvara mogućnosti za bližu interakciju između Microsoftovih usluga i operativnog sustava Linux.
Ovaj Microsoftov potez doista je vrlo pametan jer pomaže dubljem prodoru u developersku zajednicu, ali i aktivnom korištenju proizvoda koje netko drugi razvija – odnosno spajanju na open source, kaže Swann.

Dobrodošli u novi Microsoft

Trend prema stvaranju i održavanju Linux kernela "posebno za Windows" odražava snažan smjer otvorenog izvornog koda koji promovira CEO Satya Nadella. Microsoft više nije isti kao što je bio pod Gatesom i Ballmerom, kada se sve držalo iza vlasničke ograde, a nitko nije razmišljao o interoperabilnosti.

“Satya je u potpunosti transformirao Microsoft u mnogo moderniju platformu i ta se strategija obilato isplatila. Pozdrav, kapitalizacija od trilijuna dolara,” kaže Schwartz.

Prema Charlesu Kingu, glavnom analitičaru u Pund-IT-u, Microsoftove dvije glavne prednosti su učinkovitost i sigurnost.

"Aktivnim korištenjem vlastitog ozbiljnog razvoja - resursa i alata - tvrtka može jamčiti korisnicima da će kernel biti potpuno ažuran i opremljen najnovijim zakrpama i popravcima kako bi se osigurala potpuna sigurnost", dodaje.

Programeri također imaju koristi

Linux binarne datoteke izvode mnoge funkcije korištenjem sistemskih poziva, poput pristupa datotekama, traženja memorije i stvaranja procesa. WSL1 se oslanja na sloj prevođenja kako bi interpretirao mnoge od ovih sistemskih poziva i omogućio im interakciju s jezgrom Windows NT.

Najteže je implementirati sve sistemske pozive. Budući da to nije učinjeno u WSL1, neke aplikacije tamo nisu mogle raditi. WSL2 uvodi mnoge nove aplikacije koje dobro rade u ovom okruženju.

Nova arhitektura omogućuje Microsoftu da unese najnovije optimizacije u Linux kernel mnogo brže nego s WSL1. Microsoft može ažurirati jezgru WSL2 radije nego ponovno implementirati sva ograničenja.

Alat potpuno otvorenog koda

Microsoftov razvoj vlastite jezgre Linuxa bio je vrhunac godina rada Linux Systems Group, kao i mnogih drugih timova diljem Microsofta, rekao je Jack Hammons, voditelj programa u Linux Systems Group, Microsoft.

Kernel predviđen za WSL2 bit će potpuno otvorenog koda, a Microsoft će objaviti upute o tome kako izgraditi takav kernel na GitHubu. Tvrtka će surađivati ​​s programerima voljnim pomoći projektu i potaknuti promjene odozdo prema gore.

Microsoftovi razvojni programeri stvorili su WSL2 koristeći sustave kontinuirane integracije i kontinuirane isporuke tvrtke. Ovaj softver će se posluživati ​​kroz Windows sustav ažuriranja i bit će potpuno transparentan za korisnika. Kernel će ostati ažuran i uključivat će sve značajke najnovije stabilne grane Linuxa.

Kako bi osigurala dostupnost izvora, tvrtka lokalno zrcali repozitorije, stalno prati sadržaj sigurnosne mailing liste Linuxa i radi s nekoliko tvrtki koje podržavaju baze podataka u virtualnim okruženjima poduzeća (CVE). Ovo osigurava da je Microsoftov Linux kernel ažuriran s najnovijim ažuriranjima i eliminira sve nove prijetnje.

Promjene odozdo prema gore postaju obavezne

Microsoft osigurava da se sve promjene kernela propagiraju uzvodno, što je važan aspekt filozofije Linuxa. Podrška nizvodnim zakrpama dolazi s dodatnom složenošću; Štoviše, ova praksa nije uobičajena u zajednici otvorenog koda.

Cilj Microsofta kao aktivnog korisnika Linuxa je biti discipliniran član zajednice i doprinositi promjenama u zajednici. Kako bi se osigurala stabilnost ogranaka povezanih s dugoročnom podrškom, neke zakrpe - na primjer one koje sadrže nove značajke - mogu se uključiti samo u nove verzije kernela, a ne prenijeti na trenutnu LTS verziju u načinu rada kompatibilnosti s prethodnim verzijama.

Kada su WSL temeljni izvori dostupni, oni će se sastojati od poveznica na skup zakrpa i dugotrajnog stabilnog dijela izvora. Microsoft očekuje da će se ovaj popis s vremenom smanjivati ​​kako se zakrpe budu distribuirale uzvodno i dodavale nove lokalne zakrpe za podršku novim WSL značajkama.

Ugodniji dizajn prozora

Microsoft je također najavio nadolazeću zimsku verziju Windows Terminala, nove aplikacije za korisnike koji rade s alatima i školjkama naredbenog retka, kao što su Command Prompt, PowerShell i WSL.

Pingvin u prozoru: o potencijalu i izgledima WSL2

Windows terminal

Windows Terminal 1.0 nudi mnoge postavke i opcije konfiguracije koje vam daju veću kontrolu nad izgledom prozora terminala, kao i nad školjkama/profilima koji bi se trebali otvarati kao nove kartice.

Postavke će biti spremljene u strukturiranoj tekstualnoj datoteci, što ih čini jednostavnim za konfiguriranje i dizajn prozora terminala po vašem ukusu.

Microsoft više ne dorađuje postojeću Windows konzolu i stvara novu od nule, odlučujući zauzeti svjež pristup. Windows terminal se instalira i radi paralelno s postojećom aplikacijom Windows Console koja dolazi odmah po isporuci.

Kako ovo radi

Kada korisnik sustava Windows 10 izravno pokrene Cmd/PowerShell/itd, pokreće se proces povezan s uobičajenom instancom konzole. Konfiguracijski mehanizam novog terminala omogućuje korisnicima Windowsa stvaranje višestrukih profila za sve željene ljuske/aplikacije/alate, bilo u PowerShell, Command Prompt, Ubuntu ili čak SSH vezama s Azure ili IoT uređajima.

Ovi profili mogu pružiti vlastite kombinacije dizajna i veličine fonta, teme boja, razine zamućenja pozadine ili prozirnosti. Osim toga, korisnici će moći odabrati novi monospace font kako bi prozor terminala izgledao modernije i cool. Ovaj font sadrži programerske ligature; bit će javno dostupan i pohranjen u vlastitom repozitoriju.

Glavne prednosti novog Windows naredbenog sučelja su mnoge kartice i prekrasan tekst. Podrška za više kartica smatra se najtraženijim zahtjevom za razvoj terminala. Prekrasan tekst dobiva se zahvaljujući mehanizmu za renderiranje temeljenom na DirectWrite/DirectX, opremljenom GPU ubrzanjem.

Motor prikazuje tekstualne ikone, glifove i posebne znakove koji se nalaze u fontovima, uključujući kineske, japanske i korejske ideograme (CJK), emojije, simbole električnih linija, ikone i programske ligature. Osim toga, ovaj mehanizam renderira tekst mnogo brže nego GDI koji se prethodno koristio u konzoli.

Kompatibilnost s prethodnim verzijama ostaje u punom redu, iako možete isprobati Windows terminal ako želite.

Kronologija: kako će se to dogoditi

Microsoft će osigurati Windows terminal putem Microsoftove trgovine u sustavu Windows 10 i redovito ga ažurirati. Na taj će način korisnici uvijek biti u tijeku s najnovijim verzijama i najnovijim poboljšanjima – gotovo bez dodatnog napora.

Microsoft planira pokrenuti novi terminal ove zime. Nakon što Microsoft izbaci Windows Terminal 1.0, programeri će nastaviti raditi na mnogim značajkama koje su već zaostale.

Windows terminal i izvorni kod Windows konzole već objavljeno na GitHubu.

Što nas može čekati u budućnosti?

Mogućnost da će Microsoft koristiti vlastiti Linux kernel u druge svrhe, primjerice za razvoj vlastite distribucije Linuxa, danas se čini pomalo hipotetskom.

Ishod vjerojatno ovisi o tome hoće li Microsoft uspjeti pronaći značajnu potražnju za takvim proizvodom i koje bi komercijalne prilike takav razvoj potencijalno mogao otvoriti, kaže Charles King.

On smatra da će fokus tvrtke u doglednoj budućnosti biti na tome da Windows i Linux budu sve kompatibilniji i međusobno komplementarni.

Joshua Schwartz smatra da će u ovom slučaju trebati odvagnuti kolika će biti investicija u ovaj posao i koliki će biti povrat na njega. Da je Microsoft danas vrlo mlada tvrtka, vjerojatno bi sve radio temeljeno na Linuxu. Međutim, čini se da je prijenos svih razvojnih rješenja koja su već dostupna od Microsofta na izvornu Linux arhitekturu danas skup i složen projekt koji se vjerojatno neće dobro isplatiti. Ljubitelji Linuxa dobit će vlastiti Linux, a osnovna arhitektura ostat će netaknuta.

Kada je Apple ponovno izmislio Mac OS 2000. godine, operativni sustav se temeljio na BSD Unixu, koji je sličniji Linuxu nego DOS-u. Danas se stvara nova verzija sustava Microsoft Windows temeljena na Linuxu.

Možda nam se otvaraju nova vrata?

Microsoftov Linux kernel mogao bi utrti put većoj interoperabilnosti između Windows usluga i Linux operativnog sustava. U biti, ovaj razvoj Microsofta ukazuje na to da sam Microsoft već razumije: danas gotovo više nema kupaca koji radije žive u svijetu u kojem je sve Windows.

Mnogo je smislenije koristiti heterogene tehnologije i sustave koji najbolje odgovaraju poslovnim zahtjevima i specifičnim praktičnim situacijama.

Veće strateško pitanje je koje nove strateške prilike ovaj potez otvara za samu Microsoftovu platformu?

Azure, Microsoftov ekosustav u oblaku, već pruža ogromnu podršku za Linux. Prije je Windows dobro podržavao Linux korištenjem virtualnih strojeva.

Temeljne promjene koje se danas događaju posljedica su činjenice da će se sada Linux procesi izvoditi nativno na Windows kernelu, što znači da će rad s Linuxom iz Windowsa biti mnogo brži nego na virtualnim strojevima. Vjerojatno je da će se kao rezultat toga Azure obogatiti cijelim slojem inženjera koji će koristiti Linux na industrijskoj razini.

Izvor: www.habr.com

Dodajte komentar