Pingviini ikkunassa: WSL2:n mahdollisuuksista ja näkymistä

Hei Habr!

Kun ollaan vielä täydessä vauhdissa Kesäale, haluamme kutsua sinut keskustelemaan yhdestä suurimmista aiheista, joita olemme työstäneet viime aikoina - Windowsin ja Linuxin vuorovaikutuksesta, joka liittyy erityisesti järjestelmän kehittämiseen WSL. WSL 2 on tulossa, ja tässä on nopea yleiskatsaus tämän alijärjestelmän tulevaisuuteen sekä ennuste tulevasta integraatiosta Windowsin ja Linuxin välillä.

Pingviini ikkunassa: WSL2:n mahdollisuuksista ja näkymistä

Tämän vuoden toukokuussa Microsoft ilmoitti, että WSL2, uusin versio Windows-alijärjestelmästä Linuxissa, toimisi täydellisessä itse rakennetussa Linux-ytimessä.
Tämä on ensimmäinen kerta, kun Microsoft sisällyttää Linux-ytimen Windowsiin. Microsoft on myös tuomassa Windowsiin komentorivin, joka laajentaa PowerShellin ja WSL:n ominaisuuksia.

Sekä Microsoftin luoma Linux-ydin WSL2:lle että uusi Windowsin komentorivi kiinnostavat ensisijaisesti kehittäjiä.

"Tämä on vahvin liike AWS:ää vastaan", sanoo konsulttiyritys AT Kearneyn digitalisointiohjelmien johtaja Joshua Schwartz.

Microsoftin tulevaisuus ei liity PC-markkinoihin, vaikka se jatkaa vakaasti asemaansa tällä segmentillä. Paljon tärkeämpää on saada jalansijaa pilvimarkkinoilla, joiden yhtenä komponenttina tulevaisuudessa voivat olla pöytätietokoneet.

Mitä WSL2 tekee?

WSL2 on uusin Windows Subsystem -kehys Linuxille. Sen avulla voit parantaa radikaalisti tiedostojärjestelmän suorituskykyä ja tarjoaa täydellisen yhteensopivuuden järjestelmäkutsujen kanssa.

Yksi WSL-yhteisön tärkeimmistä pyynnöistä liittyi toimivuuden parantamiseen. WSL2 käyttää paljon enemmän Linux-työkaluja kuin WSL, erityisesti Docker ja FUSE.
WSL2 käsittelee tiedostointensiivisiä operaatioita, erityisesti git-kloonin, npm-asennuksen, apt-päivityksen ja apt-päivityksen. Todellinen nopeuden lisäys riippuu tietystä sovelluksesta ja siitä, miten se on vuorovaikutuksessa tiedostojärjestelmän kanssa.

Ensimmäiset testit osoittivat, että WSL2 on noin 20 kertaa nopeampi kuin WSL1 tervan purkamisessa zipistä. Käytettäessä git clone, npm install ja cmake eri projekteissa järjestelmän suorituskyky parani kahdesta viiteen kertaan.

Auttaako tämä saavuttamaan kehittäjien luottamuksen?

Pohjimmiltaan Microsoft pyrkii saamaan tunnustusta ja luottamusta kehittäjäyhteisössä kehittämällä oman versionsa Linux-ytimestä tukemaan WSL2-prosesseja, sanoi Cody Swann, Gunner Technologyn toimitusjohtaja.

"Sen lisäksi, että kehitettiin tiukasti Windowsille, kaikkien muiden sovellusten - pilvi-, mobiili-, verkkosovellusten - luominen PC:llä oli äärimmäisen hankalaa, minkä vuoksi kehittäjä joutui jotenkin käynnistämään Linux-jakelun rinnakkain Windows-käyttöjärjestelmän kanssa. Microsoft ymmärsi tämän ja keksi ratkaisun, hän päättää.

On epätodennäköistä, että mukautetun Linux-ytimen käyttöönotolla olisi vakava vaikutus järjestelmään keskivertokäyttäjän näkökulmasta. Tämä kuitenkin avaa mahdollisuuksia tiiviimmälle vuorovaikutukselle Microsoftin palveluiden ja Linux-käyttöjärjestelmän välillä.
Tämä Microsoftin liike on todellakin erittäin fiksua, koska se auttaa tunkeutumaan syvemmälle kehittäjäyhteisöön sekä käyttämään aktiivisesti jonkun muun kehittämiä tuotteita - eli muodostamaan yhteyden avoimeen lähdekoodiin, Swann sanoo.

Tervetuloa uuteen Microsoftiin

Suuntaus Linux-ytimen luomiseen ja ylläpitoon "erityisesti Windowsille" heijastaa toimitusjohtaja Satya Nadellan edistämää vahvaa avoimen lähdekoodin suuntaa. Microsoft ei ole enää sama kuin Gatesin ja Ballmerin aikana, jolloin kaikki pidettiin oman aidan takana, eikä kukaan ajatellut yhteentoimivuutta.

"Satya on muuttanut Microsoftin täysin nykyaikaisemmaksi alustaksi, ja tämä strategia on kannattanut kovasti. Hei, biljoonan dollarin pääoma”, Schwartz sanoo.

Pund-IT:n pääanalyytikon Charles Kingin mukaan Microsoftin kaksi tärkeintä vahvuutta ovat tehokkuus ja turvallisuus.

"Käyttämällä aktiivisesti omaa vakavaa kehitystään - resursseja ja työkaluja - yritys voi taata asiakkaille, että ydin on täysin ajan tasalla ja varustettu uusimmilla korjaustiedostoilla ja korjauksilla täydellisen turvallisuuden varmistamiseksi", hän lisää.

Myös kehittäjät hyötyvät

Linuxin binaarit suorittavat monia toimintoja järjestelmäkutsujen avulla, kuten tiedostojen pääsyn, muistin pyytämisen ja prosessien luomisen. WSL1 käyttää käännöskerrosta, joka tulkitsee monia näistä järjestelmäkutsuista ja sallii niiden olla vuorovaikutuksessa Windows NT -ytimen kanssa.

Vaikein asia on toteuttaa kaikki järjestelmäkutsut. Koska tätä ei tehty WSL1:ssä, jotkin sovellukset eivät voineet toimia siellä. WSL2 esittelee monia uusia sovelluksia, jotka toimivat hyvin tässä ympäristössä.

Uuden arkkitehtuurin ansiosta Microsoft voi tuoda uusimmat optimoinnit Linux-ytimeen paljon nopeammin kuin WSL1:llä. Microsoft voi päivittää WSL2-ytimen sen sijaan, että ottaisi kaikki rajoitukset uudelleen käyttöön.

Täysin avoimen lähdekoodin työkalu

Microsoftin oman Linux-ytimen kehittäminen oli Linux Systems Groupin ja monien muiden Microsoftin tiimien vuosien työn huipentuma, sanoi Jack Hammons, Microsoftin Linux Systems Groupin ohjelmapäällikkö.

WSL2:lle tarjottu ydin on täysin avoimen lähdekoodin, ja Microsoft julkaisee ohjeet tällaisen ytimen rakentamiseen GitHubissa. Yhtiö ottaa yhteyttä kehittäjiin, jotka ovat valmiita auttamaan projektia ja ajamaan alhaalta ylöspäin suuntautuvaa muutosta.

Microsoftin kehittäjät loivat WSL2:n käyttämällä yhtiön jatkuvaa integraatiota ja jatkuvaa toimitusjärjestelmää. Tämä ohjelmisto toimitetaan Windows-päivitysjärjestelmän kautta, ja se on täysin läpinäkyvä käyttäjälle. Ydin pysyy ajan tasalla ja sisältää kaikki Linuxin uusimman vakaan haaran ominaisuudet.

Lähteen saatavuuden varmistamiseksi yritys peilaa arkistot paikallisesti, tarkkailee jatkuvasti Linux-suojauspostituslistan sisältöä ja tekee yhteistyötä useiden yritysten kanssa, jotka tukevat tietokantoja yrityksen virtuaaliympäristöissä (CVE). Tämä varmistaa, että Microsoftin Linux-ydin on ajan tasalla uusimpien päivitysten kanssa ja eliminoi kaikki uudet uhat.

Alhaalta ylöspäin suuntautuvat muutokset ovat pakollisia

Microsoft varmistaa, että kaikki ytimen muutokset viedään eteenpäin, mikä on tärkeä osa Linux-filosofiaa. Myötävirran korjaustiedostojen tukeminen lisää monimutkaisuutta; Lisäksi tämä käytäntö ei ole yleinen avoimen lähdekoodin yhteisössä.

Microsoftin tavoitteena aktiivisena Linux-käyttäjänä on olla kurinalainen yhteisön jäsen ja edistää yhteisöön muutoksia. Pitkäaikaiseen tukeen liittyvien haarojen vakauden varmistamiseksi jotkin korjaukset - esimerkiksi ne, jotka sisältävät uusia ominaisuuksia - voidaan sisällyttää vain ytimen uusiin versioihin, eikä niitä siirretä nykyiseen LTS-versioon taaksepäin yhteensopivuustilassa.

Kun WSL-ydinlähteet ovat saatavilla, ne koostuvat linkeistä joukkoon korjaustiedostoja ja lähteiden pitkään jatkuneesta vakaasta osasta. Microsoft odottaa tämän luettelon kutistuvan ajan myötä, kun korjaustiedostoja jaetaan ylävirtaan ja uusia paikallisia korjaustiedostoja lisätään tukemaan uusia WSL-ominaisuuksia.

Miellyttävämpi ikkunasuunnittelu

Microsoft julkisti myös tulevan Windows Terminalin talviversion, uuden sovelluksen käyttäjille, jotka työskentelevät komentorivityökalujen ja komentotulkkien, kuten Command Prompt, PowerShell ja WSL, kanssa.

Pingviini ikkunassa: WSL2:n mahdollisuuksista ja näkymistä

Windows-pääte

Windows Terminal 1.0 tarjoaa monia asetuksia ja konfigurointivaihtoehtoja, jotka antavat sinulle paremman hallinnan pääteikkunan ulkoasusta sekä kuorista/profiileista, joiden pitäisi avautua uusina välilehtinä.

Asetukset tallennetaan jäsenneltyyn tekstitiedostoon, joten niiden konfigurointi ja pääteikkunan suunnittelu on helppoa makusi mukaan.

Microsoft ei enää jalostaa nykyistä Windows-konsolia, vaan luo uutta alusta alkaen ja päättää ottaa uudenlaisen lähestymistavan. Windows Terminal asennetaan ja toimii rinnakkain olemassa olevan Windows Console -sovelluksen kanssa, joka tulee pakkauksesta.

Kuinka tämä toimii

Kun Windows 10 -käyttäjä käynnistää suoraan Cmd/PowerShell/etc, tavalliseen konsoliinstanssiin liitetty prosessi käynnistyy. Uuden terminaalin konfigurointimoottorin avulla Windows-käyttäjät voivat luoda useita profiileja kaikille haluamilleen kuorille/sovelluksille/työkaluille joko PowerShellissä, komentokehotteessa, Ubuntussa tai jopa SSH-yhteyksissä Azure- tai IoT-laitteisiin.

Nämä profiilit voivat tarjota omat yhdistelmänsä suunnittelusta ja kirjasinkoosta, väriteemoista, taustan epäterävyydestä tai läpinäkyvyydestä. Lisäksi käyttäjät voivat valita uuden monospace-fontin tehdäkseen pääteikkunasta nykyaikaisemman ja siistimmän. Tämä kirjasin sisältää ohjelmoijaligatuureja; se asetetaan julkisesti saataville ja tallennetaan omaan arkistoonsa.

Uuden Windowsin komentokäyttöliittymän tärkeimmät edut ovat monet välilehdet ja kaunis teksti. Tukea useille välilehdille pidettiin kysytyimpänä pyyntönä päätelaitteiden kehittämisessä. Kaunis teksti saadaan DirectWrite/DirectX-pohjaisen renderöintimoottorin ansiosta, joka on varustettu GPU-kiihdytyksellä.

Moottori näyttää tekstikuvakkeet, kuviot ja erikoismerkit, joita löytyy fonteista, mukaan lukien kiinalaiset, japanilaiset ja korealaiset ideogrammit (CJK), emojit, voimalinjasymbolit, kuvakkeet ja ohjelmointiligatuurit. Lisäksi tämä moottori tekee tekstin paljon nopeammin kuin konsolissa aiemmin käytetty GDI.

Taaksepäin yhteensopivuus pysyy täysin kunnossa, vaikka voit kokeilla Windows Terminalia, jos haluat.

Kronologia: miten se tapahtuu

Microsoft toimittaa Windows Terminalin Microsoft Storen kautta Windows 10:ssä ja päivittää sen säännöllisesti. Tällä tavalla käyttäjät ovat aina ajan tasalla uusimpien versioiden ja uusimpien parannusten kanssa – käytännössä ilman ylimääräistä vaivaa.

Microsoft aikoo julkaista uuden terminaalin tänä talvena. Kun Microsoft julkaisee Windows Terminal 1.0:n, kehittäjät jatkavat työskentelyä monien jo ruuhkautuneiden ominaisuuksien parissa.

Windows Terminal ja Windows Console -lähdekoodi jo lähetetty GitHubissa.

Mikä meitä voi odottaa tulevaisuudessa?

Mahdollisuus, että Microsoft käyttää omaa Linux-ydintään muihin tarkoituksiin, esimerkiksi oman Linux-jakelun kehittämiseen, vaikuttaa nykyään jokseenkin hypoteettiselta.

Lopputulos riippuu todennäköisesti siitä, onnistuuko Microsoft löytämään merkittävää kysyntää tällaiselle tuotteelle ja mitä kaupallisia mahdollisuuksia tällainen kehitys voisi mahdollisesti avata, Charles King sanoo.

Hän uskoo, että yhtiön painopiste lähitulevaisuudessa on Windowsin ja Linuxin tekemisessä entistä yhteensopivammiksi ja toisiaan täydentävimmiksi.

Joshua Schwartz uskoo, että tässä tapauksessa on punnittava, mikä on investointi tähän työhön ja mikä on sen tuotto. Jos Microsoft olisi nykyään hyvin nuori yritys, se luultavasti tekisi kaiken Linuxin pohjalta. Kaikkien Microsoftilta jo saatavilla olevien kehitysten siirtäminen alkuperäiseen Linux-arkkitehtuuriin näyttää kuitenkin olevan kallis ja monimutkainen projekti, joka ei todennäköisesti maksa hyvin. Linuxin ystävät saavat oman Linuxin ja ydinarkkitehtuuri säilyy ennallaan.

Kun Apple keksi Mac OS:n uudelleen vuonna 2000, käyttöjärjestelmä perustui BSD Unixiin, joka muistuttaa enemmän Linuxia kuin DOSia. Tänään luodaan uusi versio Microsoft Windowsista Linuxin pohjalta.

Ehkä uusi ovi avautuu meille?

Microsoftin Linux-ydin voisi tasoittaa tietä parempaan yhteentoimivuuteen Windows-palvelujen ja Linux-käyttöjärjestelmän välillä. Pohjimmiltaan nämä Microsoftin kehityssuunnat osoittavat, että Microsoft itsekin ymmärtää jo: nykyään ei ole enää juuri yhtään asiakasta, joka haluaa elää maailmassa, jossa kaikki on Windowsia.

On paljon järkevämpää käyttää heterogeenisia teknologioita ja järjestelmiä, jotka parhaiten vastaavat liiketoiminnan vaatimuksia ja erityisiä käytännön tilanteita.

Suurempi strateginen kysymys on, mitä uusia strategisia mahdollisuuksia tämä liike avaa Microsoft-alustalle itselleen?

Azure, Microsoftin pilviekosysteemi, tarjoaa jo nyt valtavan tuen Linuxille. Aiemmin Windows tuki Linuxia hyvin virtuaalikoneiden avulla.

Nykyään tapahtuvat perustavanlaatuiset muutokset johtuvat siitä, että nyt Linux-prosessit toimivat natiivisti Windows-ytimessä, mikä tarkoittaa, että Linuxin kanssa työskenteleminen Windowsista on paljon nopeampaa kuin virtuaalikoneilla. On todennäköistä, että sen seurauksena Azure rikastuu kokonaisella insinöörikerroksella, joka käyttää Linuxia teollisessa mittakaavassa.

Lähde: will.com

Lisää kommentti