Bok, Habr!
Dok smo u punom jeku , željeli bismo vam ponuditi da razgovarate o jednoj od najvažnijih tema na kojoj radimo u posljednje vrijeme — interakcija Windows i Linux, koja se posebno odnosi na razvoj sustava . WSL 2 je na putu, a naša pažnja je usmjerena na kratak pregled mogućnosti koje nas očekuju u ovom podsustavu, kao i na prognozu daljnje integracije Windows i Linuxa.

U svibnju ove godine, Microsoft je objavio da će WSL2, najnovija verzija Windows Subsystem for Linux, raditi na punom Linux kernelu, koji je razvijen u kompaniji.
Na taj način, Microsoft po prvi put uključuje Linux kernel u Windows kao jedan od komponenti. Također, Microsoft uvodi u Windows novu naredbeni prozor koji će proširiti mogućnosti PowerShella i WSL-a.
Kako Linux kernel za WSL2, koji je razvila Microsoft, tako i nova Windows naredbeni prozor, zanimljivi su prvenstveno programerima.
„Ovo je najjači potez u igri protiv AWS-a“, primjećuje Joshua Schwartz, voditelj programa digitalizacije u konzultantskoj tvrtki A.T. Kearney.
Budućnost Microsofta nije povezana s tržištem PC-a, iako će nastaviti zadržavati svoje mjesto u tom segmentu. Mnogo je važnije učvrstiti se na tržištu oblaka, koje bi jednog dana moglo uključivati i radne površine.
Što radi WSL2
WSL2 je najnovija infrastruktura Windows podsustava za Linux. Omogućuje radikalno poboljšanje performansi datotečnog sustava i pruža potpunu kompatibilnost sa sustavnim pozivima.
Jedan od glavnih zahtjeva WSL zajednice bio je fokusiran na unapređenje funkcionalnosti. Na WSL2 radi mnogo više alata za Linux nego na WSL-u, uključujući Docker i FUSE.
WSL2 obrađuje intenzivne datotečne operacije, uključujući git clone, npm install, apt update i apt upgrade. Stvarno povećanje brzine ovisi o specifičnoj aplikaciji i o tome kako ona komunicira s datotečnim sustavom.
Prva testiranja pokazala su da WSL2 otprilike 20 puta brže od WSL1 upravlja raspakiranjem tar iz zipa. Pri korištenju git clone, npm install i cmake u različitim projektima, sustav je pokazivao porast performansi od dva do pet puta.
Hoće li to pomoći da se osvoji povjerenje programera?
U suštini, Microsoft nastoji ostvariti priznanje i povjerenje u zajednici programera razvijajući vlastitu verziju Linux jezgre za podršku procesima WSL2 – smatra Kodi Swann, CEO tvrtke Gunner Technology.
«Osim razvoja isključivo za Windows, stvaranje svih ostalih aplikacija – cloud, mobilnih, web aplikacija – na PC-u bilo je izuzetno nezgodno, zbog čega su programeri na neki način morali paralelno instalirati Linux distribuciju uz Windows OS. Microsoft je to prepoznao i ponudio rješenje,» zaključuje on.
Malo je vjerojatno da će primjena vlastite Linux jezgre značajno utjecati na rad sustava s aspekta običnog korisnika. Međutim, u tom slučaju otvaraju se mogućnosti za bližu suradnju između Microsoftovih usluga i Linux operativnog sustava.
Ovakav potez Microsofta doista je vrlo pametan, jer pomaže dubljem prodiranju u zajednicu programera, kao i aktivnom korištenju proizvoda koje razvijaju drugi – to jest, povezivanje s open source-om – smatra Swann.
Dobrodošli u Novi Microsoft
Trend prema stvaranju i podršci Linux jezgre 'posebno za Windows' odražava odlučnu orijentaciju prema open source-u koju promiče CEO Satya Nadella. Microsoft više nije onaj kakav je bio za vrijeme Gatesa i Ballmera, kada je sve bilo zaštićeno vlasničkim ogradama, a o interoperabilnosti nitko nije ni razmišljao.
«Satya je potpuno transformirao Microsoft u mnogo suvremeniju platformu, a ova strategija se višestruko isplatila. Pozdrav, kapitalizacija u trilijunima dolara», kaže Schwartz.
Prema Charlesu Kingu, glavnom analitičaru u Pund-IT-u, dvije osnovne prednosti Microsofta odnose se na efikasnost i sigurnost.
«Aktivnim korištenjem vlastitih značajnih resursa i alata, tvrtka može jamčiti klijentima da će jezgra biti potpuno ažurirana i opremljena najnovijim zakrpama i ispravcima koji osiguravaju potpunu sigurnost», dodaje on.
Programeri također imaju koristi
Binarni datoteke Linux obavljaju mnoge funkcije putem sistemskih poziva, na primjer, pristupaju datotekama, zahtijevaju memoriju i kreiraju procese. WSL1 se oslanja na razinu prevođenja koja interpretira mnoge od tih sistemskih poziva i omogućava im interakciju s kernelom Windows NT.
Najteže je implementirati sve sistemske pozive. Budući da to nije ostvareno u WSL1, neki programi nisu mogli raditi. U WSL2 dolazi do pojave brojnih novih aplikacija koje normalno funkcioniraju u ovom okruženju.
Nova arhitektura omogućava Microsoftu brže uvođenje najnovijih optimizacija u kernel Linuxa nego u slučaju WSL1. Microsoft može ažurirati kernel WSL2, umjesto da ponovno implementira sve ograničenja.
Potpuno open-source alat
Razvoj vlastitog Linux kernela od strane Microsofta predstavlja kulminaciju višegodišnjeg rada grupe Linux Systems, kao i mnogih drugih timova unutar cijelog Microsofta – navodi Jack Hammons, menadžer programa u Linux Systems Group, Microsoft.
Kernel dostupan za WSL2 bit će potpuno open-source, a Microsoft će objaviti upute na GitHub-u o tome kako sastaviti takav kernel. Tvrtka će surađivati s programerima koji žele pomoći projektu i poticati prijedloge promjena.
Microsoftovi programeri su razvijali WSL2 koristeći sustave kontinuirane integracije i isporuke koje djeluju unutar tvrtke. Ovaj softver će se održavati putem Windows sistema ažuriranja i bit će potpuno transparentan za korisnika. Kernel će ostati ažuran i uključivati sve mogućnosti najnovije stabilne verzije Linuxa.
Kako bi osigurala dostupnost izvora, tvrtka lokalno zrcali repozitorije, a također kontinuirano prati sadržaj Linux mailing liste vezan uz sigurnosne probleme, te surađuje s nekoliko tvrtki koje se bave bazama podataka u korporativnom virtualnom okruženju (CVE). Na taj način se jamči da će u Linux kernelu od Microsofta biti uključene najnovije nadogradnje i otkloniti svi potencijalni prijetnji.
Prijedlozi promjena postaju obavezni
Microsoft jamči da će sve promjene jezgre biti distribuirane uzlaznom putanjom – to je važan aspekt filozofije Linuxa. Podrška za silazne zakrpe povezana je s dodatnom složenošću; osim toga, takva praksa nije uobičajena u zajednici slobodne izrade.
Cilj Microsofta, koji aktivno koristi Linux, je postati disciplinirani član te zajednice i staviti promjene na raspolaganje zajednici. Kako bi se postigla stabilnost grana povezanih s dugoročnom podrškom, neke zakrpe – poput onih koje sadrže nove mogućnosti – mogu se uključivati samo u nove verzije jezgre, a ne prenositi u trenutnu LTS verziju u načinu povratne kompatibilnosti.
Kada izvorni kodovi jezgre WSL budu dostupni, sastojat će se od veza na skup zakrpa i dugotrajne stabilne dijela izvornog koda. Microsoft se nada da će se s vremenom ova lista skratiti, dok se zakrpe šire uzlazno, a nove lokalne zakrpe dodaju za podršku svježim mogućnostima WSL-a.
Prijatniji izgled prozora
Microsoft je također najavio izlazak nadolazeće 'zimske' verzije Windows Terminala – to je nova aplikacija za korisnike koji rade s alatima naredbenog retka i ljuskom, posebice Command Prompt, PowerShell i WSL.

Windows Terminal
Windows Terminal 1.0 nudi mnoge postavke i konfiguracijske mogućnosti, pružajući potpuniju kontrolu nad izgledom prozora terminala, kao i nad ljuskama/profilima koji se trebaju otvarati kao nove kartice.
Postavke će se čuvati u strukturiranoj tekstualnoj datoteci, čime će ih biti lako konfigurirati i prilagoditi izgled terminala prema vlastitim željama.
Microsoft prestaje s doradom postojeće Windows konzole i stvara novu od nule, odlučivši primijeniti svjež pristup. Windows Terminal se instalira i radi paralelno s postojećom aplikacijom Windows Console, dobivenom 'iz kutije'.
Kako to funkcionira
Kada korisnik sustava Windows 10 izravno pokrene Cmd/PowerShell itd., aktivira se proces vezan uz uobičajeni primjerak konzole. Mehanizam konfiguracije novog terminala omogućuje korisnicima sustava Windows stvaranje više profila za sve željene ljuske/aplikacije/alate, bilo u PowerShellu, naredbenoj liniji, Ubuntuu ili čak tijekom SSH poveznica s Azureom ili uređajima Interneta Stvari.
Ovi profili mogu sadržavati vlastite kombinacije dizajna i veličine fonta, boje teme, razine zamućenosti ili prozirnosti pozadine. Osim toga, korisnici će moći odabrati novi monospaced font kako bi prozor terminala izgledao modernije i cooler. Ovaj font uključuje programske ligature, bit će dostupan kao open source i pohranit će se u vlastitom repozitoriju.
Glavne prednosti novog naredbenog sučelja sustava Windows su višestruke kartice i lijepi tekst. Podrška za višestruke kartice bila je najtraženiji zahtjev u vezi s razvojem terminala. Lijep tekst dobiva se zahvaljujući motoru za renderiranje temeljenom na DirectWrite/DirectX, koji je opremljen akceleracijom GPU-a.
Motor prikazuje tekstualne ikone, glife i posebne simbole dostupne u fontovima, uključujući kineske, japanske i korejske ideograme (CJK), emotikone, simbole powerline, ikone i programske ligature. Osim toga, ovaj motor prikazuje tekst znatno brže od GDI-ja koji se ranije koristio u konzoli.
Unatrag kompatibilnost ostaje u potpunom redu, iako, ako žele, mogu isprobati i Windows Terminal.
Kronologija: kako će to izgledati
Microsoft će pružati Windows Terminal putem Microsoft Store-a u sustavu Windows 10 i redovito ga ažurirati. Tako će korisnici uvijek raditi s najnovijim verzijama i najnovijim poboljšanjima - gotovo bez dodatnog napora.
Microsoft planira pokrenuti novi terminal sljedeće zime. Nakon što Microsoft predstavi Windows Terminal 1.0, programeri će nastaviti s mnoštvom mogućnosti koje su već odložene u backlog.
Izvorni kod Windows Terminal-a i Windows Console-a GitHubu.
Što nas može očekivati u budućnosti?
Mogućnost da Microsoft počne koristiti vlastitu Linux jezgru i za druge svrhe, na primjer, za razvoj svoje Linux distribucije, danas se čini pomalo hipotetskom.
Vjerovatno, ishod ovisi o tome hoće li Microsoft primijetiti značajnu potražnju za ovim proizvodom i kakve komercijalne mogućnosti potencijalno mogu otvoriti takvi razvojni projekti, smatra Charles King.
Misli da će se u bliskoj budućnosti kompanija usredotočiti na osiguranje sve bliže kompatibilnosti Windowsa i Linuxa te njihovo međusobno dopunjavanje.
Joshua Schwartz smatra da bi u ovom slučaju trebalo razmotriti koliki će biti troškovi ovog rada i kakva će biti povratna korist. Da je Microsoft danas potpuno nova kompanija, vjerojatno bi sve radila na temelju Linuxa. Međutim, prenos svih postojećih rješenja Microsofta na nativnu arhitekturu Linuxa danas se čini skupim i složenim projektom koji se jedva može isplatiti. Ljubitelji Linuxa mogu dobiti Linux, dok će osnovna arhitektura ostati netaknuta.
Kada je Apple 2000. godine ponovno izumio Mac OS, taj je operativni sustav bio izgrađen na temelju BSD Unixa, koji je više sličan Linuxu nego DOS-u. Danas se nova verzija Microsoft Windowsa zapravo stvara na bazi Linuxa.
Možda se pred nama otvara nova vrata?
Linux jezgra od Microsofta može otvoriti put za bližu interakciju između Windows usluga i operativnog sustava Linux. U suštini, ovi razvojni projekti Microsofta pokazuju da i sama kompanija razumije: danas gotovo da nema klijenata koji preferiraju postojati u svijetu gdje je Windows svuda.
Razumnije je koristiti heterogene tehnologije i sustave koji najbolje odgovaraju poslovnim zahtjevima i konkretnim praktičnim situacijama.
Veće strateško pitanje je koja nova strateška mogućnost se otvara za samu Microsoft platformu?
Azure – Microsoftova oblačna ekosustav – već pruža ogroman podršku za Linux. Ranije je Windows dobro podržavao Linux putem virtualnih strojeva.
Suštinske promjene koje se sada događaju vezane su uz to da će se procesi Linuxa nativno izvoditi na Windows jezgri, što znači da će rad s Linuxom iz Windowsa ići mnogo brže nego na virtualnim strojevima. Sasvim je moguće da će Azure postati bogatiji slojem inženjera koji koriste Linux u industrijskim razmjerima.
Izvor: habr.com
