Pingvin v oknu: o potencialu in obetih WSL2

Pozdravljeni, Habr!

Medtem ko smo še v polnem zagonu poletna razprodaja, bi vas radi povabili k razpravi o eni največjih tem, s katerimi se ukvarjamo v zadnjem času - interakciji Windows in Linux, ki je povezana zlasti z razvojem sistema WSL. WSL 2 je na poti in tukaj je hiter pregled tega, kar bo prišlo v tem podsistemu, kot tudi napoved za prihodnjo integracijo med Windows in Linux.

Pingvin v oknu: o potencialu in obetih WSL2

Maja letos je Microsoft objavil, da bo WSL2, najnovejša različica podsistema Windows v sistemu Linux, deloval na polnem jedru Linuxa, zgrajenem v podjetju.
To pomeni, da je Microsoft prvič vključil jedro Linuxa kot komponento v Windows. Microsoft uvaja tudi ukazno vrstico za Windows, ki bo razširila zmogljivosti PowerShell in WSL.

Tako jedro Linuxa za WSL2, ki ga je ustvaril Microsoft, kot nova ukazna vrstica Windows sta zanimiva predvsem za razvijalce.

"To je najmočnejša poteza v igri proti AWS," pravi Joshua Schwartz, direktor programov digitalizacije pri svetovalnem podjetju AT Kearney.

Microsoftova prihodnost ni povezana s trgom osebnih računalnikov, čeprav bo še naprej trdno držal svoj položaj v tem segmentu. Veliko pomembnejše bo uveljavitev na trgu oblakov, katerega sestavni del bodo v prihodnosti morda namizni osebni računalniki.

Kaj počne WSL2?

WSL2 je najnovejši okvir podsistema Windows za Linux. Omogoča radikalno izboljšanje delovanja datotečnega sistema in zagotavlja popolno združljivost s sistemskimi klici.

Ena glavnih zahtev skupnosti WSL je bila povezana z izboljšavo funkcionalnosti. WSL2 izvaja veliko več orodij za Linux kot WSL, zlasti Docker in FUSE.
WSL2 obravnava operacije, ki zahtevajo veliko datotek, zlasti git clone, npm install, apt update in apt nadgradnjo. Dejansko povečanje hitrosti je odvisno od posamezne aplikacije in njene interakcije z datotečnim sistemom.

Prvi testi so pokazali, da je WSL2 približno 20-krat hitrejši od WSL1 pri razpakiranju tar iz zip. Pri uporabi git clone, npm install in cmake v različnih projektih je sistem pokazal dvakratno do petkratno povečanje zmogljivosti.

Bo to pomagalo pridobiti zaupanje razvijalcev?

V bistvu si Microsoft prizadeva pridobiti priznanje in zaupanje v skupnosti razvijalcev z razvojem lastne različice jedra Linuxa za podporo procesom WSL2, je dejal Cody Swann, izvršni direktor Gunner Technology.

»Poleg tega, da sem razvijal izključno za Windows, je bilo ustvarjanje vseh drugih aplikacij - oblačnih, mobilnih, spletnih aplikacij - na osebnem računalniku izjemno neprijetno, zato je razvijalec nekako moral zagnati distribucijo Linuxa vzporedno z OS Windows. Microsoft je to prepoznal in prišel do rešitve,« zaključuje.

Malo verjetno je, da bo uvedba jedra Linuxa po meri resno vplivala na sistem z vidika povprečnega uporabnika. Vendar pa to odpira možnosti za tesnejšo interakcijo med Microsoftovimi storitvami in operacijskim sistemom Linux.
Microsoftova poteza je res zelo pametna, saj pomaga prodreti globlje v skupnost razvijalcev, pa tudi aktivno uporabljati produkte, ki jih razvija nekdo drug – torej se povezati z odprto kodo, pravi Swann.

Dobrodošli v novem Microsoftu

Trend v smeri ustvarjanja in vzdrževanja jedra Linuxa "posebej za Windows" odraža močno odprtokodno usmeritev, ki jo promovira CEO Satya Nadella. Microsoft ni več tak, kot je bil pod Gatesom in Ballmerjem, ko je bilo vse zaprto za lastniško ograjo in nihče ni razmišljal o interoperabilnosti.

»Satya je Microsoft popolnoma preoblikoval v veliko sodobnejšo platformo in ta strategija se je izdatno obrestovala. Pozdravljeni, bilijonska kapitalizacija,« pravi Schwartz.

Po mnenju Charlesa Kinga, glavnega analitika pri Pund-IT, sta Microsoftovi glavni prednosti učinkovitost in varnost.

"Z aktivno uporabo lastnega resnega razvoja - virov in orodij - lahko podjetje strankam zagotovi, da bo jedro popolnoma posodobljeno in opremljeno z najnovejšimi popravki in popravki za zagotovitev popolne varnosti," dodaja.

Koristi imajo tudi razvijalci

Binarne datoteke Linuxa izvajajo številne funkcije s sistemskimi klici, kot so dostop do datotek, zahtevanje pomnilnika in ustvarjanje procesov. WSL1 se opira na prevajalsko plast za interpretacijo številnih teh sistemskih klicev in jim omogoča interakcijo z jedrom Windows NT.

Najtežje je implementirati vse sistemske klice. Ker to ni bilo storjeno v WSL1, nekatere aplikacije tam niso mogle delovati. WSL2 uvaja veliko novih aplikacij, ki dobro delujejo v tem okolju.

Nova arhitektura omogoča Microsoftu, da najnovejše optimizacije vnese v jedro Linuxa veliko hitreje kot z WSL1. Microsoft lahko posodobi jedro WSL2, namesto da ponovno uvede vse omejitve.

Popolnoma odprtokodno orodje

Microsoftov razvoj lastnega jedra Linuxa je bil vrhunec dolgoletnega dela skupine Linux Systems Group, pa tudi številnih drugih ekip v Microsoftu, je dejal Jack Hammons, programski vodja pri skupini Linux Systems Group, Microsoft.

Jedro, zagotovljeno za WSL2, bo popolnoma odprtokodno, Microsoft pa bo na GitHubu objavil navodila, kako zgraditi takšno jedro. Podjetje bo sodelovalo z razvijalci, ki bodo pripravljeni pomagati projektu in spodbujati spremembe od spodaj navzgor.

Microsoftovi razvijalci so ustvarili WSL2 z uporabo sistemov za stalno integracijo in neprekinjeno dostavo podjetja. Ta programska oprema bo na voljo prek sistema Windows Update in bo za uporabnika popolnoma pregledna. Jedro bo ostalo posodobljeno in bo vsebovalo vse funkcije najnovejše stabilne veje Linuxa.

Da bi zagotovili razpoložljivost vira, podjetje lokalno zrcali repozitorije, nenehno spremlja vsebino varnostnega poštnega seznama Linuxa in sodeluje z več podjetji, ki podpirajo baze podatkov v poslovnih virtualnih okoljih (CVE). To zagotavlja, da je Microsoftovo jedro Linuxa posodobljeno z najnovejšimi posodobitvami in odpravlja vse nastajajoče grožnje.

Spremembe od spodaj navzgor postanejo obvezne

Microsoft zagotavlja, da se vse spremembe jedra razširijo navzgor, kar je pomemben vidik filozofije Linuxa. Podpora spodnjim popravkom je dodatno zapletena; Poleg tega ta praksa ni pogosta v odprtokodni skupnosti.

Microsoftov cilj kot aktivnega uporabnika Linuxa je biti discipliniran član skupnosti in prispevati spremembe v skupnosti. Za zagotovitev stabilnosti vej, povezanih z dolgoročno podporo, so lahko nekateri popravki – na primer tisti, ki vsebujejo nove funkcije – vključeni le v nove različice jedra in ne preneseni v trenutno različico LTS v načinu združljivosti za nazaj.

Ko so osnovni viri WSL na voljo, bodo sestavljeni iz povezav do nabora popravkov in dolgo delujočega stabilnega dela virov. Microsoft pričakuje, da se bo ta seznam sčasoma zmanjšal, ko se bodo popravki distribuirali navzgor in bodo dodani novi lokalni popravki za podporo svežih funkcij WSL.

Prijetnejši dizajn oken

Microsoft je tudi napovedal prihajajočo zimsko različico Windows Terminala, nove aplikacije za uporabnike, ki delajo z orodji ukazne vrstice in lupinami, kot so ukazni poziv, PowerShell in WSL.

Pingvin v oknu: o potencialu in obetih WSL2

Windows terminal

Windows Terminal 1.0 ponuja številne nastavitve in konfiguracijske možnosti, ki vam omogočajo večji nadzor nad videzom terminalskega okna, pa tudi nad lupinami/profili, ki naj se odprejo kot novi zavihki.

Nastavitve bodo shranjene v strukturirano besedilno datoteko, kar bo olajšalo konfiguracijo in oblikovanje terminalskega okna po vašem okusu.

Microsoft ne izboljšuje več obstoječe konzole Windows in iz nič ustvarja novo, pri čemer se je odločil za nov pristop. Windows Terminal se namesti in zažene vzporedno z obstoječo aplikacijo Windows Console, ki je takoj pripravljena.

Kako to deluje

Ko uporabnik sistema Windows 10 neposredno zažene Cmd/PowerShell/itd, se sproži postopek, povezan z običajnim primerkom konzole. Konfiguracijski mehanizem novega terminala omogoča uporabnikom sistema Windows, da ustvarijo več profilov za vse želene lupine/aplikacije/orodja, bodisi v lupini PowerShell, ukaznem pozivu, Ubuntuju ali celo povezavah SSH z napravami Azure ali IoT.

Ti profili lahko nudijo lastne kombinacije oblikovanja in velikosti pisave, barvnih tem, ravni zameglitve ozadja ali prosojnosti. Poleg tega bodo uporabniki lahko izbrali novo monospace pisavo, da bo terminalsko okno videti bolj moderno in kul. Ta pisava vsebuje programerske ligature; javno bo dostopna in shranjena v lastnem repozitoriju.

Glavne prednosti novega ukaznega vmesnika Windows so številni zavihki in lepo besedilo. Podpora za več zavihkov je veljala za najbolj zahtevano zahtevo za razvoj terminalov. Čudovito besedilo je pridobljeno zahvaljujoč mehanizmu za upodabljanje, ki temelji na DirectWrite/DirectX in je opremljen s pospeškom GPU.

Mehanizem prikazuje besedilne ikone, glife in posebne znake, ki jih najdemo v pisavah, vključno s kitajskimi, japonskimi in korejskimi ideogrami (CJK), emoji, simboli električnih vodov, ikonami in programskimi ligaturami. Poleg tega ta mehanizem upodobi besedilo veliko hitreje kot GDI, ki se je prej uporabljal v konzoli.

Združljivost s prejšnjimi različicami ostaja v polnem redu, čeprav lahko poskusite Windows Terminal, če želite.

Kronologija: kako se bo zgodilo

Microsoft bo zagotovil Windows Terminal prek trgovine Microsoft Store v sistemu Windows 10 in ga redno posodabljal. Tako bodo uporabniki vedno na tekočem z najnovejšimi različicami in najnovejšimi izboljšavami – skoraj brez dodatnega napora.

Microsoft namerava prihodnjo zimo lansirati nov terminal. Ko bo Microsoft uvedel Windows Terminal 1.0, bodo razvijalci nadaljevali z delom na številnih že zaostalih funkcijah.

Terminal Windows in izvorna koda konzole Windows že objavljeno na GitHubu.

Kaj nas lahko čaka v prihodnje?

Možnost, da bo Microsoft uporabil lastno jedro Linuxa za druge namene, na primer za razvoj lastne distribucije Linuxa, se danes zdi nekoliko hipotetična.

Izid je verjetno odvisen od tega, ali bo Microsoftu uspelo najti veliko povpraševanje po takem izdelku in kakšne komercialne priložnosti bi lahko tak razvoj potencialno odprl, pravi Charles King.

Meni, da se bo podjetje v bližnji prihodnosti osredotočilo na to, da bosta Windows in Linux vedno bolj združljiva in dopolnjujoča drug drugega.

Joshua Schwartz meni, da bo v tem primeru treba pretehtati, kakšen bo vložek v to delo in kakšen bo donos. Če bi bil Microsoft danes zelo mlado podjetje, bi verjetno vse naredilo na osnovi Linuxa. Vendar pa se zdi, da je danes prenos vsega razvoja, ki je že na voljo pri Microsoftu, na izvorno arhitekturo Linuxa drag in zapleten projekt, ki se verjetno ne bo dobro izplačal. Ljubitelji Linuxa bodo dobili svoj Linux in osnovna arhitektura bo ostala nedotaknjena.

Ko je Apple leta 2000 na novo izumil Mac OS, je operacijski sistem temeljil na BSD Unixu, ki je bolj podoben Linuxu kot DOS-u. Danes nastaja nova različica Microsoft Windows, ki temelji na Linuxu.

Se nam morda odpirajo nova vrata?

Microsoftovo jedro Linuxa bi lahko utrlo pot večji interoperabilnosti med storitvami Windows in operacijskim sistemom Linux. V bistvu ta Microsoftov razvoj kaže, da Microsoft sam že razume: danes skoraj ni več strank, ki bi raje obstajale v svetu, kjer je vse Windows.

Veliko bolj smiselno je uporabljati heterogene tehnologije in sisteme, ki najbolje ustrezajo poslovnim zahtevam in specifičnim praktičnim situacijam.

Večje strateško vprašanje je, kakšne nove strateške priložnosti ta poteza odpira sami Microsoftovi platformi?

Azure, Microsoftov ekosistem v oblaku, že zagotavlja izjemno podporo za Linux. Prej je Windows dobro podpiral Linux z uporabo virtualnih strojev.

Temeljne spremembe, ki se dogajajo danes, so posledica dejstva, da se bodo zdaj procesi Linuxa izvorno izvajali v jedru Windows, kar pomeni, da bo delo z Linuxom iz sistema Windows veliko hitrejše kot na virtualnih strojih. Verjetno se bo Azure zaradi tega obogatil s celo plastjo inženirjev, ki bodo uporabljali Linux v industrijskem obsegu.

Vir: www.habr.com

Dodaj komentar