Hello, Habr!
Samtidig som vores sommerudsalg fortsætter for fuld styrke, WSL 2 er lige om hjørnet, og vi præsenterer en kort oversigt over de muligheder, der venter os i denne underliggende subsystem, samt et prognose for den videre integration af Windows og Linux. I maj i år annoncerede Microsoft, at WSL2, den nyeste version af Windows Subsystem for Linux, vil køre på en fuld Linux-kernel, compileret af virksomheden.

Dermed inkluderer Microsoft for første gang en Linux-kernel som en af komponenterne i Windows. Microsoft introducerer også en kommandolinje i Windows, som vil udvide mulighederne for PowerShell og WSL.
Både Linux-kernen for WSL2, udviklet af Microsoft, og den nye Windows-kommandolinje er især interessante for udviklere.
"Dette er det stærkeste træk i kampen mod AWS," påpeger Joshua Schwartz, leder af digitaliseringsprogrammer i konsulentfirmaet A.T. Kearney.
Microsofts fremtid er ikke knyttet til pc-markedet, selvom virksomheden fortsat vil have en stærk position i dette segment. Det vil være meget vigtigere at etablere sig på cloud-markedet, som i fremtiden også kan inkludere desktops.
Hvad er WSL2?
WSL2 er den nyeste infrastruktur af Windows Subsystem for Linux. Den muliggør en radikal forbedring af filsystemets ydeevne og sikrer fuld kompatibilitet med systemanrop.
Et af de vigtigste ønsker fra WSL-samfundet har været forbedringen af funktionaliteten. På WSL2 fungerer mange flere værktøjer under Linux end på WSL, herunder Docker og FUSE.
WSL2 håndterer intensive filoperationer, herunder git clone, npm install, apt update og apt upgrade. Den faktiske hastighedsforøgelse afhænger af den specifikke applikation og hvordan den interagerer med filsystemet.
De første tests viste, at WSL2 er cirka 20 gange hurtigere end WSL1 til at udpakke tar fra zip. Ved brug af git clone, npm install og cmake i forskellige projekter viste systemet en ydeevneforøgelse på to til fem gange.
Vil dette hjælpe med at vinde udviklernes tillid?
Поможет ли это завоевать доверие разработчиков?
I bund og grund ønsker Microsoft at opnå anerkendelse og tillid i udviklerfællesskabet ved at udvikle sin egen version af Linux-kernen for at understøtte WSL2-processerne, mener Cody Swann, CEO hos Gunner Technology.
«Med undtagelse af udvikling strengt til Windows var det ekstremt besværligt at skabe alle andre applikationer - cloud-baserede, mobile, webapplikationer - på PC'en, hvilket fik udvikleren til at skulle hente en Linux-distribution sideløbende med Windows. Microsoft har anerkendt dette og har tilbudt en løsning,» konkluderer han.
Det er usandsynligt, at implementeringen af en egen Linux-kerne vil have en stor indvirkning på systemets funktionalitet set fra en almindelig brugers perspektiv. Men i så fald åbner der sig muligheder for tættere interaktion mellem Microsofts tjenester og Linux-operativsystemet.
Dette skridt fra Microsoft er virkelig klogt, da det hjælper dem med at trænge dybere ind i udviklerfællesskabet og aktivt udnytte produkter, som andre udvikler – med andre ord, at forbinde sig med open source – mener Swann.
Velkommen til det nye Microsoft
Trenden mod at skabe og støtte en Linux-kerne «specifikt til Windows» afspejler den beslutsomme retning mod open source, som CEO Satya Nadella promoverer. Microsoft er ikke længere det, det var under Gates og Ballmer, hvor alt blev opbevaret bag et proprietært hegn, og ingen tænkte på interoperabilitet.
«Satya har helt omdannet Microsoft til en langt mere moderne platform, og denne strategi har betalt sig selv mange gange. Hej, trillioner dollars i markedsværdi,» siger Schwartz.
Ifølge Charles King, hovedanalytiker hos Pund-IT, er Microsofts to største styrker relateret til effektivitet og sikkerhed.
«Ved aktivt at bruge sine egne betydelige ressourcer og værktøjer kan virksomheden garantere kunderne, at kernen vil være helt aktuel og udstyret med de nyeste patches og rettelser, der sikrer fuld sikkerhed,» tilføjer han.
Udviklerne er også blandt dem, der drager fordel.
Binære filer i Linux udfører mange funktioner ved hjælp af system kald, såsom at få adgang til filer, anmode om hukommelse og oprette processer. WSL1 er baseret på et oversættelseslag, der fortolker mange af disse system kald og gør det muligt for dem at interagere med Windows NT-kernen.
Det mest udfordrende er at implementere alle system kald. Da dette ikke var gjort i WSL1, kunne nogle applikationer ikke fungere der. I WSL2 tilføjes mange nye applikationer, der kører normalt i dette miljø.
Det nye arkitektur tillader Microsoft at implementere de nyeste optimeringer i Linux-kernen hurtigere end med WSL1. Microsoft kan opdatere WSL2-kernen, uden at skulle genskabe alle begrænsninger.
Fuldstændig open source-værktøj
Udviklingen af Microsofts egen Linux-kerne har været kulminationen på mange års arbejde udført af Linux Systems Group samt mange andre teams i hele Microsoft – siger Jack Hammons, programleder i Linux Systems Group, Microsoft.
Kernen, der leveres til WSL2, vil være fuldstændig open source, og Microsoft vil offentliggøre instruktioner på GitHub om, hvordan man bygger en sådan kerne. Virksomheden vil samarbejde med udviklere, der ønsker at bidrage til projektet, og fremme opadgående ændringer.
Microsofts udviklere skabte WSL2 ved hjælp af de kontinuerlige integrations- og leveringssystemer, der er i virksomheden. Denne software vil blive vedligeholdt gennem Windows' opdateringssystem og vil være helt gennemsigtig for brugeren. Kernen vil forblive ajourført og inkludere alle funktioner fra den nyeste stabile Linux-gren.
For at sikre tilgængeligheden af kildekoden spejler virksomheden repositorier lokalt og overvåger konstant indholdet af Linux' mailingliste for sikkerhedsproblemer, samt samarbejder med flere virksomheder, der understøtter arbejde med databaser i et corporate virtual environment (CVE). På denne måde garanteres det, at Microsofts Linux-kerne vil inkludere de nyeste opdateringer og fjerne alle opståede trusler.
Opadgående ændringer bliver obligatoriske
Microsoft garanterer, at alle ændringer til kernen vil blive distribueret opad – dette er et vigtigt aspekt af Linux-filosofien. Støtte til nedadgående patches indebærer yderligere kompleksitet; desuden er en sådan praksis ikke almindelig i det frie udviklingssamfund.
Målet for Microsoft, der aktivt bruger Linux, er at blive et disciplineret medlem af dette fællesskab og tilvejebringe de ændringer, der er lavet, til fællesskabet. For at opnå stabilitet i længesupportrelaterede grene kan nogle patches – såsom dem der indeholder nye funktioner – kun blive inkluderet i nye kernelversioner og ikke porteres til den nuværende LTS-version i bagudkompatibilitet.
Når kildeteksten til WSL-kernen bliver tilgængelig, vil den bestå af henvisninger til et sæt patches og til en langvarig stabil del af kilderne. Microsoft forventer, at denne liste over tid vil blive kortere, efterhånden som patches distribueres opad, og nye lokale patches vil blive tilføjet for at understøtte nye WSL-funktioner.
En mere behagelig vindueslayout
Microsoft har også annonceret udgivelsen af den kommende 'vinter'-version af Windows Terminal – en ny applikation til brugere, der arbejder med kommandolinje- og shellværktøjer, herunder Command Prompt, PowerShell og WSL.

Windows Terminal
Windows Terminal 1.0 tilbyder mange indstillinger og konfigurationsmuligheder, som giver mere kontrol over layoutet af terminalvinduet samt over de shells/profiler, der skal åbnes som nye faner.
Indstillingerne vil blive gemt i en struktureret tekstfil, hvilket gør dem nemme at konfigurere og tilpasse terminalvinduet efter ens egne præferencer.
Microsoft stopper videreudviklingen af den eksisterende Windows-konsol og bygger en ny fra bunden med en ny tilgang. Windows Terminal installeres og fungerer parallelt med den tidligere Windows Console-applikation, der leveres 'ud af boksen'.
Hvordan fungerer det
Når en Windows 10-bruger direkte åbner Cmd/PowerShell osv., aktiveres en proces knyttet til en almindelig forekomst af Console. Konfigurationen af den nye terminal gør det muligt for Windows-brugere at oprette adskillige profiler for alle ønskede shell-programmer, hvad enten det er i PowerShell, kommandoprompten, Ubuntu eller endda ved SSH-forbindelser til Azure eller Internet of Things-enheder.
Disse profiler kan have deres egne kombinationer af skrifttypeskabeloner og skriftstørrelser, farvetemaer, niveauer af uskarphed eller baggrundstransparens. Derudover vil brugerne kunne vælge en ny monospaced skrifttype, så terminalvinduet ser mere moderne og cool ud. Denne skrifttype vil inkludere programmeringsligaturer, blive gjort tilgængelig som open source og lagret i sit eget repository.
De vigtigste fordele ved den nye Windows kommandogrænseflade – mange faner og smuk tekst. Understøttelse af mange faner blev betragtet som den mest efterspurgte anmodning ved udviklingen af terminalen. Smuk tekst opnås takket være en rendering-motor baseret på DirectWrite/DirectX, udstyret med GPU-acceleration.
Motoren viser tekstsymboler, glifer og specialtegn, der findes i skrifttyper, herunder kinesiske, japanske og koreanske ideogrammer (CJK), emoji, powerline-symboler, ikoner og programmeringsligaturer. Desuden viser denne motor tekst meget hurtigere end GDI, som tidligere blev brugt i konsollen.
Bagward-compatibilitet er fuldt ud intakt, men hvis man ønsker det, kan man også prøve Windows Terminal.
Tidslinje: hvordan det vil se ud
Microsoft vil tilbyde Windows Terminal gennem Microsoft Store i Windows 10 og regelmæssigt opdatere den. På den måde vil brugerne altid arbejde med de nyeste versioner og de seneste forbedringer – praktisk talt uden ekstra anstrengelse.
Microsoft planlægger at lancere den nye terminal til vinter. Når Microsoft udgiver Windows Terminal 1.0, vil udviklerne fortsætte med at arbejde på mange funktioner, der allerede er blevet udskudt til backlog.
Kildekoden til Windows Terminal og Windows Console Kildekoden og alle oplysninger
Hvad kan vi forvente i fremtiden?
Muligheden for, at Microsoft vil bruge sit eget Linux-kernel til andre formål, såsom at udvikle sin egen Linux-distribution, virker i dag noget hypotetisk.
Det er sandsynligvis op til Microsoft at opdage en betydelig efterspørgsel efter et sådant produkt, og hvilke kommercielle muligheder sådanne udviklinger potentielt kan åbne – siger Charles King.
Han mener, at virksomheden i den nærmeste fremtid vil fokusere sit arbejde på at sikre en stadig tættere integration mellem Windows og Linux og deres indbyrdes komplementering.
Joshua Schwartz mener, at det i dette tilfælde vil være nødvendigt at overveje, hvilke investeringer der kræves til dette arbejde, og hvad afkastet vil være. Hvis Microsoft i dag var en helt ny virksomhed, ville de sandsynligvis basere alt på Linux. Men at portere alle de eksisterende løsninger, som Microsoft allerede har, til en native Linux-arkitektur, er i dag et dyrt og komplekst projekt, der næppe vil være rentabelt. Linux-entusiaster vil få deres Linux, mens den primære arkitektur forbliver uændret.
Da Apple genopfandt Mac OS i 2000, blev dette operativsystem bygget på BSD Unix, som er mere lig Linux end DOS. I dag udvikles den nye version af Microsoft Windows netop på baggrund af Linux.
Muligvis åbner der sig en ny dør for os?
Microsofts Linux-kerne kan bane vejen for en tættere interaktion mellem Windows-tjenester og Linux-operativsystemet. I bund og grund vidner disse udviklinger fra Microsoft om, at virksomheden selv allerede forstår, at der næsten ikke er nogen kunder tilbage, der ønsker at eksistere i en verden, hvor der kun er Windows overalt.
Det er langt mere fornuftigt at bruge heterogene teknologier og systemer, der bedst opfylder forretningskravene og specifikke praktiske situationer.
Et vigtigere strategisk spørgsmål er, hvilke nye strategiske muligheder denne tilgang åbner for Microsoft-platformen selv?
Azure – Microsofts cloud-økosystem – leverer allerede kolossal støtte til Linux. Tidligere understøttede Windows Linux godt ved hjælp af virtuelle maskiner.
De principielle ændringer, der finder sted i dag, er relateret til, at Linux-processer nu vil blive udført nativt på Windows-kernen, hvilket betyder, at arbejdet med Linux fra Windows vil gå meget hurtigere end på virtuelle maskiner. Det er højest sandsynligt, at Azure derfor vil få en hel række af ingeniører, der bruger Linux i industriel skala.
Kilde: habr.com
