Pingvin i vinduet: om potentialet og perspektiverne for WSL2

Hej Habr!

Mens vi stadig er i fuld gang sommer udsalg, vil vi gerne invitere dig til at diskutere et af de største emner, som vi har arbejdet med på det seneste - samspillet mellem Windows og Linux, især relateret til udviklingen af ​​systemet WSL. WSL 2 er på vej, og her er et hurtigt overblik over, hvad der kommer i dette undersystem, samt en prognose for fremtidig integration mellem Windows og Linux.

Pingvin i vinduet: om potentialet og perspektiverne for WSL2

I maj i år annoncerede Microsoft, at WSL2, den seneste version af Windows-undersystemet på Linux, ville køre på en komplet Linux-kerne, der er bygget internt.
Dette er første gang, Microsoft har inkluderet Linux-kernen som en komponent i Windows. Microsoft introducerer også en kommandolinje til Windows, der vil udvide mulighederne for PowerShell og WSL.

Både Linux-kernen til WSL2, skabt af Microsoft, og den nye Windows-kommandolinje er primært af interesse for udviklere.

"Dette er det stærkeste træk i kampen mod AWS," siger Joshua Schwartz, direktør for digitaliseringsprogrammer hos konsulentfirmaet AT Kearney.

Microsofts fremtid er ikke forbundet med pc-markedet, selvom det fortsat vil holde fast på sin position i dette segment. Det bliver meget vigtigere at få fodfæste på cloud-markedet, hvor en af ​​komponenterne i fremtiden kan være stationære pc'er.

Hvad gør WSL2?

WSL2 er den seneste Windows-undersystemramme til Linux. Det giver dig mulighed for radikalt at forbedre filsystemets ydeevne og giver fuld kompatibilitet med systemopkald.

En af de vigtigste anmodninger fra WSL-fællesskabet var relateret til forbedring af funktionaliteten. WSL2 kører mange flere Linux-værktøjer end WSL, især Docker og FUSE.
WSL2 håndterer filintensive operationer, især git clone, npm installation, apt update og apt upgrade. Den faktiske hastighedsforøgelse afhænger af den specifikke applikation og hvordan den interagerer med filsystemet.

De første test viste, at WSL2 er omkring 20 gange hurtigere end WSL1 i udpakning af tjære fra lynlås. Når man brugte git clone, npm install og cmake i forskellige projekter, viste systemet en to til fem gange stigning i ydeevne.

Vil dette hjælpe med at vinde tillid hos udviklere?

I bund og grund søger Microsoft at vinde anerkendelse og tillid i udviklerfællesskabet ved at udvikle sin egen version af Linux-kernen til at understøtte WSL2-processer, sagde Cody Swann, CEO for Gunner Technology.

"Udover at udvikle udelukkende til Windows, var det ekstremt ubelejligt at skabe alle andre applikationer - cloud, mobil, webapplikationer - på en pc, hvorfor udvikleren på en eller anden måde måtte starte en Linux-distribution parallelt med Windows OS. Microsoft erkendte dette og kom med en løsning,” slutter han.

Det er usandsynligt, at introduktion af en brugerdefineret Linux-kerne vil have en alvorlig indvirkning på systemet fra den gennemsnitlige brugers synspunkt. Dette åbner dog muligheder for tættere interaktion mellem Microsoft-tjenester og Linux-operativsystemet.
Dette træk fra Microsofts side er i sandhed meget smart, da det hjælper med at trænge dybere ind i udviklerfællesskabet, samt aktivt at bruge de produkter, som en anden udvikler – det vil sige oprette forbindelse til open source, siger Swann.

Velkommen til New Microsoft

Tendensen mod at skabe og vedligeholde en Linux-kerne "specifikt til Windows" afspejler den stærke open source-retning, der fremmes af CEO Satya Nadella. Microsoft er ikke længere det samme, som det var under Gates og Ballmer, da alt blev holdt bag et proprietært hegn, og ingen tænkte på interoperabilitet.

“Satya har fuldstændig transformeret Microsoft til en meget mere moderne platform, og den strategi har givet pænt pote. Hej, trillion-dollar kapitalisering,” siger Schwartz.

Ifølge Charles King, hovedanalytiker hos Pund-IT, er Microsofts to hovedstyrker effektivitet og sikkerhed.

"Ved aktivt at bruge sin egen seriøse udvikling - ressourcer og værktøjer - kan virksomheden garantere kunderne, at kernen vil være fuldstændig up-to-date og udstyret med de nyeste patches og rettelser for at sikre fuldstændig sikkerhed," tilføjer han.

Udviklere har også fordel

Linux-binære filer udfører mange funktioner ved hjælp af systemkald, såsom adgang til filer, anmodning om hukommelse og oprettelse af processer. WSL1 er afhængig af et oversættelseslag til at fortolke mange af disse systemkald og tillade dem at interagere med Windows NT-kernen.

Det sværeste er at implementere alle systemopkald. Da dette ikke blev gjort i WSL1, kunne nogle applikationer ikke fungere der. WSL2 introducerer mange nye applikationer, der fungerer godt i dette miljø.

Den nye arkitektur gør det muligt for Microsoft at bringe de seneste optimeringer til Linux-kernen meget hurtigere end med WSL1. Microsoft kan opdatere WSL2-kernen i stedet for at genimplementere alle begrænsningerne.

Fuldt open source værktøj

Microsofts udvikling af sin egen Linux-kerne var kulminationen på mange års arbejde fra Linux Systems Group, såvel som mange andre teams i hele Microsoft, sagde Jack Hammons, programchef hos Linux Systems Group, Microsoft.

Kernen, der leveres til WSL2, vil være fuldstændig open source, og Microsoft vil poste instruktioner om, hvordan man bygger en sådan kerne på GitHub. Virksomheden vil engagere sig med udviklere, der er villige til at hjælpe projektet og drive bottom-up-ændring.

Microsoft-udviklere skabte WSL2 ved hjælp af virksomhedens kontinuerlige integration og kontinuerlige leveringssystemer. Denne software vil blive serveret gennem Windows-opdateringssystemet og vil være fuldstændig gennemsigtig for brugeren. Kernen forbliver opdateret og inkluderer alle funktionerne i den seneste stabile gren af ​​Linux.

For at sikre kildetilgængelighed spejler virksomheden repositories lokalt, overvåger konstant indholdet af Linux-sikkerhedsmailinglisten og arbejder med adskillige virksomheder, der understøtter databaser i virksomhedens virtuelle miljøer (CVE'er). Dette sikrer, at Microsofts Linux-kerne er opdateret med de seneste opdateringer og eliminerer eventuelle nye trusler.

Bottom-up ændringer bliver obligatoriske

Microsoft sikrer, at alle kerneændringer udbredes opstrøms, et vigtigt aspekt af Linux-filosofien. Understøttelse af downstream patches kommer med yderligere kompleksitet; Desuden er denne praksis ikke almindelig i open source-fællesskabet.

Microsofts mål som aktiv Linux-bruger er at være et disciplineret medlem af fællesskabet og at bidrage med ændringer til fællesskabet. For at sikre stabiliteten af ​​grene, der er forbundet med langsigtet support, må nogle patches - for eksempel dem, der indeholder nye funktioner - kun inkluderes i nye versioner af kernen og ikke porteres til den aktuelle LTS-version i bagudkompatibilitetstilstand.

Når WSL-kernekilderne er tilgængelige, vil de bestå af links til et sæt patches og en langvarig stabil del af kilderne. Microsoft forventer, at denne liste vil skrumpe over tid, efterhånden som patches distribueres opstrøms, og nye lokale patches tilføjes for at understøtte nye WSL-funktioner.

Mere behageligt vinduesdesign

Microsoft annoncerede også den kommende vinterversion af Windows Terminal, en ny app til brugere, der arbejder med kommandolinjeværktøjer og -skaller, såsom Command Prompt, PowerShell og WSL.

Pingvin i vinduet: om potentialet og perspektiverne for WSL2

Windows Terminal

Windows Terminal 1.0 tilbyder mange indstillinger og konfigurationsmuligheder, der giver dig mere kontrol over udseendet af terminalvinduet, samt over de skaller/profiler, der skal åbne som nye faner.

Indstillingerne vil blive gemt i en struktureret tekstfil, hvilket gør dem nemme at konfigurere og designe terminalvinduet efter din smag.

Microsoft forfiner ikke længere den eksisterende Windows-konsol og skaber en ny fra bunden og beslutter sig for at tage en ny tilgang. Windows Terminal installerer og kører parallelt med den eksisterende Windows Console-applikation, der kommer ud af kassen.

Hvordan fungerer denne her

Når en Windows 10-bruger direkte starter Cmd/PowerShell/etc, udløses processen, der er knyttet til den almindelige konsolinstans. Den nye terminals konfigurationsmotor giver Windows-brugere mulighed for at oprette flere profiler for alle deres ønskede shells/applikationer/værktøjer, uanset om det er i PowerShell, Command Prompt, Ubuntu eller endda SSH-forbindelser til Azure- eller IoT-enheder.

Disse profiler kan give deres egne kombinationer af design og skriftstørrelse, farvetemaer, baggrundssløringsniveauer eller gennemsigtighed. Derudover vil brugerne kunne vælge en ny monospace-skrifttype for at få terminalvinduet til at se mere moderne og cool ud. Denne skrifttype indeholder programmeringsligaturer; den vil blive gjort offentligt tilgængelig og gemt i sit eget lager.

De vigtigste fordele ved den nye Windows-kommandogrænseflade er mange faner og smuk tekst. Understøttelse af flere faner blev betragtet som den mest efterspurgte anmodning om terminaludvikling. Smuk tekst opnås takket være gengivelsesmotoren baseret på DirectWrite/DirectX, udstyret med GPU-acceleration.

Motoren viser tekstikoner, glyffer og specialtegn, der findes i skrifttyper, inklusive kinesiske, japanske og koreanske ideogrammer (CJK), emoji, powerline-symboler, ikoner og programmeringsligaturer. Derudover gengiver denne motor tekst meget hurtigere end den GDI, der tidligere blev brugt i konsollen.

Bagudkompatibilitet forbliver i fuld rækkefølge, selvom du kan prøve Windows Terminal, hvis du ønsker det.

Kronologi: hvordan det vil ske

Microsoft leverer Windows Terminal gennem Microsoft Store i Windows 10 og opdaterer den regelmæssigt. På denne måde vil brugerne altid være ajour med de nyeste versioner og seneste forbedringer – stort set uden ekstra indsats.

Microsoft planlægger at lancere en ny terminal i den kommende vinter. Når Microsoft lancerer Windows Terminal 1.0, vil udviklere fortsætte med at arbejde på mange af de funktioner, der allerede er tilbage.

Windows Terminal og Windows Console Kildekode allerede postet på GitHub.

Hvad kan vente os i fremtiden?

Muligheden for, at Microsoft vil bruge sin egen Linux-kerne til andre formål, for eksempel til at udvikle sin egen Linux-distribution, virker i dag noget hypotetisk.

Resultatet afhænger sandsynligvis af, om Microsoft formår at finde en betydelig efterspørgsel efter et sådant produkt, og hvilke kommercielle muligheder en sådan udvikling potentielt kan åbne op, siger Charles King.

Han mener, at virksomhedens fokus i en overskuelig fremtid vil være på at gøre Windows og Linux mere og mere kompatible og komplementære til hinanden.

Joshua Schwartz mener, at det i dette tilfælde vil være nødvendigt at afveje, hvad investeringen i dette arbejde bliver, og hvad afkastet af det bliver. Hvis Microsoft var en meget ung virksomhed i dag, ville den sandsynligvis gøre alt baseret på Linux. Men at overføre alle de udviklinger, der allerede er tilgængelige fra Microsoft, til den oprindelige Linux-arkitektur i dag, ser ud til at være et dyrt og komplekst projekt, som næppe vil betale sig godt. Linux-elskere vil få deres egen Linux, og kernearkitekturen forbliver intakt.

Da Apple genopfandt Mac OS i 2000, var styresystemet baseret på BSD Unix, som minder mere om Linux end DOS. I dag laves en ny version af Microsoft Windows baseret på Linux.

Måske åbner en ny dør sig for os?

Microsofts Linux-kerne kunne bane vejen for større interoperabilitet mellem Windows-tjenester og Linux-operativsystemet. I det væsentlige indikerer disse udviklinger fra Microsoft, at Microsoft selv allerede forstår: I dag er der næsten ingen kunder tilbage, der foretrækker at eksistere i en verden, hvor alt er Windows.

Det giver meget mere mening at bruge heterogene teknologier og systemer, der bedst opfylder forretningskrav og specifikke praktiske situationer.

Det større strategiske spørgsmål er, hvilke nye strategiske muligheder åbner dette træk for selve Microsoft-platformen?

Azure, Microsofts cloud-økosystem, giver allerede en enorm support til Linux. Tidligere understøttede Windows Linux godt ved hjælp af virtuelle maskiner.

De grundlæggende ændringer, der finder sted i dag, skyldes, at Linux-processer nu vil køre indbygget på Windows-kernen, hvilket betyder, at arbejdet med Linux fra Windows vil være meget hurtigere end på virtuelle maskiner. Det er sandsynligt, at som et resultat, vil Azure berige sig selv med et helt lag af ingeniører, der bruger Linux i industriel skala.

Kilde: www.habr.com

Tilføj en kommentar