Hallo, Habr!
Terwijl onze , willen we u graag uitnodigen om een van de meest bijzondere onderwerpen te bespreken waar we de laatste tijd aan werken ā de interactie tussen Windows en Linux, met name met betrekking tot de ontwikkeling van het systeem. . WSL 2 staat voor de deur, en we bieden u een korte samenvatting van de mogelijkheden die ons in deze subsystemen te wachten staan, evenals een prognose voor de verdere integratie van Windows en Linux.

In mei van dit jaar kondigde Microsoft aan dat WSL2, de nieuwste versie van de Windows Subsystem for Linux, zal draaien op een volledig Linux-kern die in het bedrijf is samengesteld.
Op deze manier integreert Microsoft voor het eerst een Linux-kern in Windows als een van de componenten. Microsoft introduceert ook een nieuwe opdrachtregel in Windows die de mogelijkheden van PowerShell en WSL zal uitbreiden.
Zowel de Linux-kern voor WSL2, ontwikkeld door Microsoft, als de nieuwe Windows-opdrachtregel zijn vooral interessant voor ontwikkelaars.
"Dit is de sterkste zet in de strijd tegen AWS," merkt Joshua Schwartz op, hoofd van digitalisering bij het adviesbureau A.T. Kearney.
De toekomst van Microsoft ligt niet op de pc-markt, hoewel het bedrijf ook in deze sector zijn positie zal behouden. Veel belangrijker zal het zijn om zich te vestigen op de cloudmarkt, waarvan desktop-pc's in de toekomst een onderdeel kunnen zijn.
Wat doet WSL2
WSL2 is de nieuwste infrastructuur van het Windows-subsysteem voor Linux. Het maakt een radicale verbetering van de bestandssysteemprestaties mogelijk en zorgt voor volledige compatibiliteit met systeemaanroepen.
Een van de belangrijkste verzoeken van de WSL-gemeenschap was om de functionaliteit uit te breiden. Er werken veel meer Linux-tools op WSL2 dan op WSL, met name Docker en FUSE.
WSL2 verwerkt intensieve bestandoperaties, zoals git clone, npm install, apt update en apt upgrade. De daadwerkelijke snelheidstoename hangt af van de specifieke toepassing en hoe deze interactie heeft met het bestandssysteem.
Uit de eerste tests bleek dat WSL2 ongeveer 20 keer sneller is dan WSL1 bij het uitpakken van tar uit zip. Bij het gebruik van git clone, npm install en cmake in verschillende projecten toonde het systeem een prestatieverbetering van twee tot vijf keer.
Zal dit helpen om het vertrouwen van ontwikkelaars te winnen?
In wezen streeft Microsoft ernaar erkenning en vertrouwen te winnen in de ontwikkelaarsgemeenschap door zijn eigen versie van de Linux-kernel te ontwikkelen ter ondersteuning van de WSL2-processen, aldus Cody Swann, CEO van Gunner Technology.
"Behalve het ontwikkelen specifiek voor Windows, was het creĆ«ren van andere toepassingen ā cloud, mobiele, web-applicaties ā op de pc enorm onhandig, waardoor ontwikkelaars op de een of andere manier een Linux-distributie naast Windows moesten installeren. Microsoft heeft dit erkend en een oplossing aangeboden," concludeert hij.
Het is onwaarschijnlijk dat de implementatie van een eigen Linux-kernel een significante impact zal hebben op de werking van het systeem vanuit het perspectief van de gewone gebruiker. Echter, in dat geval openen zich mogelijkheden voor een nauwere samenwerking tussen de Microsoft-diensten en het Linux-besturingssysteem.
Deze stap van Microsoft is inderdaad zeer tactisch, omdat het helpt om dieper in de ontwikkelaarsgemeenschap door te dringen en ook actief gebruik te maken van producten die door anderen worden ontwikkeld ā dat wil zeggen, zich aansluiten bij open source ā aldus Swann.
Welkom bij het nieuwe Microsoft
De trend naar het creƫren en ondersteunen van de Linux-kernel 'speciaal voor Windows' weerspiegelt de vastberaden richting van open source-ontwikkeling die wordt bevorderd door CEO Satya Nadella. Microsoft is niet langer hetzelfde als tijdens het tijdperk van Gates en Ballmer, toen alles achter een propriƫtaire schutting verborgen was en niemand nadacht over interoperabiliteit.
"Satya heeft Microsoft volledig getransformeerd in een veel modernere platform, en deze strategie heeft zich dubbel en dwars gelonkt. Hallo, triljoenen dollars aan kapitalisatie," zegt Schwartz.
Volgens Charles King, hoofdanalist bij Pund-IT, zijn de twee belangrijkste voordelen van Microsoft gerelateerd aan efficiƫntie en veiligheid.
"Door actief gebruik te maken van zijn eigen sterke middelen en tools kan het bedrijf zijn klanten garanderen dat de kernel volledig up-to-date is en voorzien van de nieuwste patches en fixes, wat de volledige veiligheid waarborgt," voegt hij toe.
Ook de ontwikkelaars hebben er baat bij
Binaire bestanden in Linux vervullen veel functies via systeemaanroepen, zoals toegang tot bestanden, geheugen aanvragen en processen creƫren. WSL1 vertrouwt op een vertalingsniveau dat veel van deze systeemaanroepen interpreteert en hen in staat stelt te communiceren met de kern van Windows NT.
De grootste uitdaging is het implementeren van alle systeemaanroepen. Aangezien dit niet is gedaan in WSL1, konden sommige applicaties daar niet functioneren. In WSL2 verschijnen er veel nieuwe applicaties die goed werken in deze omgeving.
De nieuwe architectuur stelt Microsoft in staat om veel sneller nieuwe optimalisaties in de Linux-kern door te voeren dan in het geval van WSL1. Microsoft kan de kern van WSL2 bijwerken zonder alle beperkingen opnieuw te implementeren.
Volledig open-source hulpmiddel
De ontwikkeling van de eigen Linux-kern door Microsoft is de culminatie van jarenlange inspanningen van de Linux Systems Group, evenals vele andere teams binnen de hele Microsoft-corporatie, aldus Jack Hammons, programmamanager bij de Linux Systems Group van Microsoft.
De kern die wordt geleverd voor WSL2 zal volledig open-source zijn, en Microsoft zal op GitHub instructies plaatsen over hoe zo'n kern te bouwen. Het bedrijf zal samenwerken met ontwikkelaars die aan het project willen bijdragen en zal opkomende wijzigingen stimuleren.
Microsoft-ontwikkelaars hebben WSL2 gemaakt met behulp van de continue integratie- en leveringssystemen binnen het bedrijf. Deze software zal worden onderhouden via het Windows-updatesysteem en zal volledig transparant zijn voor de gebruiker. De kern zal actueel blijven en alle mogelijkheden van de nieuwste stabiele Linux-tak bevatten.
Om de beschikbaarheid van de broncode te waarborgen, spiegelt het bedrijf lokale repositories en monitort constant de inhoud van de Linux-mailinglijst voor beveiligingsproblemen, en werkt samen met verschillende bedrijven die betrokken zijn bij het werken met databases in een zakelijke virtuele omgeving (CVE). Dit garandeert dat de Linux-kern van Microsoft de nieuwste updates omvat en alle opkomende bedreigingen aanpakt.
Opkomende wijzigingen worden verplicht
Microsoft garandeert dat alle kernelwijzigingen opwaarts zullen worden verspreid ā dit is een belangrijk aspect van de Linux-filosofie. Ondersteuning voor neerwaartse patches brengt extra complexiteit met zich mee; bovendien is deze praktijk niet gebruikelijk binnen de open source community.
Het doel van Microsoft, dat actief gebruikmaakt van Linux, is om een gedisciplineerd lid van deze gemeenschap te worden en de aangebrachte wijzigingen ter beschikking te stellen van de gemeenschap. Om de stabiliteit van de langdurige ondersteuningsvertakkingen te waarborgen, kunnen sommige patches ā zoals die met nieuwe functionaliteiten ā alleen in nieuwe kernelversies worden opgenomen en niet worden gepoort naar de huidige LTS-versie als een terugwaartse compatibiliteit.
Wanneer de brontekst van de WSL-kernel beschikbaar komt, bestaat deze uit verwijzingen naar een set patches en een langdurig stabiele versie van de brontekst. Microsoft hoopt dat deze lijst in de loop van de tijd zal verkorten, naarmate de patches opwaarts worden verspreid en nieuwe lokale patches worden toegevoegd ter ondersteuning van de nieuwste WSL-functies.
Een aangenamere venstervoorstelling
Microsoft heeft ook de aankomende 'winter' versie van Windows Terminal aangekondigd ā dit is een nieuwe applicatie voor gebruikers die werken met opdrachtregeltools en shells, in het bijzonder Command Prompt, PowerShell en WSL.

Windows Terminal
Windows Terminal 1.0 biedt tal van instellingen en configuratiemogelijkheden die meer controle geven over de opmaak van het terminalvenster, evenals over de shells/profielen die als nieuwe tabbladen moeten worden geopend.
Instellingen worden opgeslagen in een gestructureerd tekstbestand, wat het gemakkelijk maakt om te configureren en het terminalvenster naar eigen smaak op te maken.
Microsoft stopt met de ontwikkeling van de bestaande Windows-console en creëert een nieuwe vanaf nul, met een frisse benadering. Windows Terminal kan worden geïnstalleerd en werkt parallel aan de bestaande Windows Console-applicatie die 'uit de doos' wordt geleverd.
Hoe het werkt
Wanneer een Windows 10-gebruiker Cmd/PowerShell/enzovoort rechtstreeks start, wordt een proces geactiveerd dat is gekoppeld aan een gewone instantie van de Console. Het configuratiemechanisme van de nieuwe terminal stelt Windows-gebruikers in staat om meerdere profielen te creƫren voor alle gewenste shells/toepassingen/tools, of het nu in PowerShell, de opdrachtprompt, Ubuntu, of zelfs bij SSH-verbindingen met Azure of Internet of Things-apparaten is.
In deze profielen kunnen aangepaste opmaakcombinaties en lettergrootte, kleurenthema's, niveaus van vervaging of transparantie van de achtergrond worden voorzien. Bovendien kunnen gebruikers een nieuw monospace-lettertype kiezen, zodat het terminalvenster er moderner en fraaier uitziet. Dit lettertype bevat programmeerligaturen, zal openbaar worden gemaakt en in een eigen repository worden opgeslagen.
De belangrijkste voordelen van de nieuwe Windows-opdrachtinterface zijn vele tabbladen en mooie tekst. Ondersteuning voor meerdere tabbladen werd beschouwd als de meest gevraagde functie voor de ontwikkeling van de terminal. Mooie tekst wordt verkregen door een rendering-engine op basis van DirectWrite/DirectX, uitgerust met GPU-versnelling.
De engine toont tekstsymbolen, glyphs en speciale tekens die in de lettertypen aanwezig zijn, inclusief Chinese, Japanse en Koreaanse ideogrammen (CJK), emoji's, powerline-symbolen, iconen en programmeerlienturen. Bovendien toont deze engine tekst veel sneller dan GDI, dat eerder in de console werd gebruikt.
De terugwaartse compatibiliteit blijft volledig intact, hoewel men ook Windows Terminal kan proberen als men dat zou willen.
Chronologie: hoe dit gaat zijn
Microsoft zal Windows Terminal via de Microsoft Store in Windows 10 aanbieden en regelmatig bijwerken. Op deze manier werken gebruikers altijd met de nieuwste versies en de laatste verbeteringen ā vrijwel zonder extra inspanningen.
Microsoft is van plan om de nieuwe terminal deze winter uit te brengen. Nadat Microsoft Windows Terminal 1.0 heeft gelanceerd, zullen ontwikkelaars doorgaan met het werken aan vele mogelijkheden die al in de backlog zijn achtergelaten.
De broncode van Windows Terminal en Windows Console op GitHub.
Wat kunnen we in de toekomst verwachten?
De mogelijkheid dat Microsoft zijn eigen Linux-kernel ook voor andere doeleinden gaat gebruiken, zoals de ontwikkeling van zijn eigen Linux-distributie, lijkt vandaag de dag enigszins hypothetisch.
Waarschijnlijk hangt de uitkomst af van de vraag of Microsoft een aanzienlijke vraag naar een dergelijk product kan ontdekken en welke commerciƫle mogelijkheden dergelijke ontwikkelingen potentieel kunnen openstellen - denkt Charles King.
Hij denkt dat het bedrijf in de nabije toekomst de meeste inspanningen zal richten op het waarborgen van een steeds hechtere compatibiliteit tussen Windows en Linux en hun onderlinge aanvulling.
Joshua Schwartz is van mening dat in dit geval moet worden afgewogen wat de investeringen in dit werk zullen zijn en wat het rendement ervan is. Als Microsoft vandaag een heel jong bedrijf zou zijn, zou het waarschijnlijk alles op basis van Linux doen. Echter, het porteren van alle bestaande ontwikkelingen van Microsoft naar de native architectuur van Linux lijkt vandaag de dag een kostbaar en complex project, dat waarschijnlijk niet goed zal terugkeren. Linux-liefhebbers krijgen hun Linux, terwijl de belangrijkste architectuur onaangetast blijft.
Toen Apple in 2000 Mac OS opnieuw uitvond, was dit besturingssysteem gebaseerd op BSD Unix, dat meer lijkt op Linux dan op DOS. Vandaag de dag wordt de nieuwe versie van Microsoft Windows juist ontwikkeld op basis van Linux.
Misschien opent er een nieuwe deur voor ons?
De Linux-kern van Microsoft kan de weg vrijmaken voor nauwere samenwerking tussen Windows-diensten en het Linux-besturingssysteem. Eigenlijk getuigen deze ontwikkelingen van Microsoft ervan dat ook binnen het bedrijf zelf steeds beter wordt begrepen: er zijn vandaag de dag bijna geen klanten meer die er de voorkeur aan geven om te bestaan in een wereld vol Windows.
Het is veel verstandiger om heterogene technologieƫn en systemen te gebruiken die het beste voldoen aan de zakelijke vereisten en specifieke praktische situaties.
Een belangrijker strategisch vraagstuk is welke nieuwe strategische mogelijkheden dergelijke stappen openen voor het Microsoft-platform zelf?
Azure - het cloud-ecosysteem van Microsoft - biedt al enorme ondersteuning voor Linux. Eerder ondersteunde Windows Linux goed via virtuele machines.
De fundamentele veranderingen die vandaag de dag plaatsvinden, zijn verbonden met het feit dat processen van Linux nu native zullen draaien op de Windows-kern, wat betekent dat het werken met Linux vanuit Windows veel sneller zal gaan dan op virtuele machines. Het is zeer waarschijnlijk dat Azure als gevolg hiervan zal worden verrijkt met een hele laag ingenieurs die Linux op industriƫle schaal gebruiken.
Bron: habr.com
