Der Pinguin im Fenster: über das Potenzial und die Perspektiven von WSL2

Hallo, Habr!

Während unser Sommerverkaufin vollem Gange ist, möchten wir Ihnen ein Thema vorstellen, das in letzter Zeit große Aufmerksamkeit auf sich zieht — die Interaktion zwischen Windows und Linux, insbesondere im Hinblick auf die Entwicklung des WSL. WSL 2 steht vor der Tür, und wir bieten Ihnen einen kurzen Überblick über die Funktionen, die uns in diesem Subsystem erwarten, sowie eine Prognose zur weiteren Integration von Windows und Linux.

Der Pinguin im Fenster: über das Potenzial und die Perspektiven von WSL2

Im Mai dieses Jahres gab Microsoft bekannt, dass WSL2, die neueste Version des Windows Subsystems für Linux, auf einem vollständigen Linux-Kernel basieren wird, der intern entwickelt wurde.
Damit integriert Microsoft zum ersten Mal einen Linux-Kernel als Bestandteil von Windows. Zudem wird Microsoft eine neue Eingabeaufforderung für Windows einführen, die die Möglichkeiten von PowerShell und WSL erweitern wird.

Sowohl der für WSL2 entwickelte Linux-Kernel von Microsoft als auch die neue Windows-Eingabeaufforderung sind vor allem für Entwickler von großem Interesse.

„Das ist der stärkste Zug in der Partie gegen AWS“, bemerkt Joshua Schwartz, Leiter des Digitalisierungsprogramms bei der Beratungsfirma A.T. Kearney.

Die Zukunft von Microsoft liegt nicht im PC-Markt, obwohl das Unternehmen weiterhin starke Positionen in diesem Segment halten wird. Viel wichtiger wird es sein, sich im Cloud-Markt zu etablieren, dessen Bestandteil in Zukunft auch Desktop-PCs sein können.

Was macht WSL2?

WSL2 ist die neueste Infrastruktur der Windows Subsystem for Linux. Sie ermöglicht eine drastische Verbesserung der Dateisystemleistung und bietet vollständige Kompatibilität mit Systemaufrufen.

Eine der Hauptanforderungen der WSL-Community bezog sich auf die Weiterentwicklung des Funktionsumfangs. Auf WSL2 laufen viel mehr Linux-Tools als auf WSL, insbesondere Docker und FUSE.
WSL2 verarbeitet intensive Dateivorgänge, insbesondere git clone, npm install, apt update und apt upgrade. Die tatsächliche Geschwindigkeitssteigerung hängt von der spezifischen Anwendung und davon ab, wie sie mit dem Dateisystem interagiert.

Erste Tests zeigen, dass WSL2 beim Entpacken von Tar aus Zip etwa 20 Mal schneller ist als WSL1. Bei der Verwendung von git clone, npm install und cmake in verschiedenen Projekten zeigte das System eine Leistungssteigerung von zwei bis fünf Mal.

Wird dies helfen, das Vertrauen der Entwickler zu gewinnen?

Microsoft versucht, im Entwickler-Community Anerkennung und Vertrauen zu gewinnen, indem es eine eigene Version des Linux-Kernels zur Unterstützung von WSL2 entwickelt, so Cody Swann, CEO von Gunner Technology.

„Abgesehen von Entwicklungen, die strikt für Windows gemacht werden, war die Erstellung aller anderen Anwendungen – sei es Cloud-, Mobile- oder Webanwendungen – auf PCs äußerst unpraktisch, weshalb Entwickler gezwungen waren, parallel zu Windows ein Linux-Distro zu laden. Microsoft hat dies erkannt und eine Lösung angeboten“, schließt er.

Es ist unwahrscheinlich, dass die Implementierung eines eigenen Linux-Kernels erhebliche Auswirkungen auf die Systemnutzung aus Sicht des typischen Nutzers haben wird. In diesem Fall eröffnen sich jedoch Möglichkeiten für eine engere Zusammenarbeit zwischen Microsoft-Diensten und dem Linux-Betriebssystem.
Dieser Schritt von Microsoft ist wirklich sehr klug, da er dazu beiträgt, tiefer in die Entwickler-Community einzudringen und Produkte aktiv zu nutzen, die von anderen entwickelt werden – also sich mit Open Source zu verbinden, glaubt Swann.

Willkommen bei New Microsoft

Der Trend zur Entwicklung und Unterstützung des Linux-Kerns „speziell für Windows“ spiegelt die klare Ausrichtung auf Open Source wider, die von CEO Satya Nadella vorangetrieben wird. Microsoft ist längst nicht mehr das Unternehmen, das es unter Gates und Ballmer war, als alles hinter proprietären Mauern verborgen war und über Interoperabilität niemand nachdachte.

„Satya hat Microsoft völlig in eine viel modernere Plattform transformiert, und diese Strategie hat sich mehr als ausgezahlt. Hallo, Billionen-Dollar-Kapitalisierung“, sagt Schwartz.

Laut Charles King, dem leitenden Analysten bei Pund-IT, sind die zwei Hauptvorteile von Microsoft mit Effizienz und Sicherheit verbunden.

„Indem das Unternehmen aktiv auf seine eigenen umfangreichen Entwicklungen – Ressourcen und Tools – zurückgreift, kann es seinen Kunden garantieren, dass der Kern stets auf dem neuesten Stand ist und mit den aktuellsten Patches und Fixes ausgestattet ist, die vollständige Sicherheit gewährleisten“, fügt er hinzu.

Auch die Entwickler profitieren.

Linux-Binärdateien erfüllen viele Funktionen durch Systemaufrufe, wie zum Beispiel den Zugriff auf Dateien, das Anfordern von Speicher und das Erstellen von Prozessen. WSL1 basiert auf einer Übersetzungsebene, die viele dieser Systemaufrufe interpretiert und ermöglicht, dass sie mit dem Windows NT-Kernel interagieren.

Die größte Herausforderung besteht darin, alle Systemaufrufe zu implementieren. Da dies in WSL1 nicht geschehen ist, konnten einige Anwendungen dort nicht funktionieren. In WSL2 erscheinen viele neue Anwendungen, die in dieser Umgebung ordnungsgemäß arbeiten.

Die neue Architektur ermöglicht es Microsoft, neueste Optimierungen in den Linux-Kernel viel schneller einzuführen als bei WSL1. Microsoft kann den WSL2-Kernel aktualisieren, anstatt alle Einschränkungen neu zu implementieren.

Vollständig Open-Source-Tool

Die Entwicklung eines eigenen Linux-Kernels durch Microsoft ist das Ergebnis jahrelanger Arbeit der Linux Systems Group sowie vieler anderer Teams innerhalb des Unternehmens – so Jack Hammons, Programmmanager in der Linux Systems Group bei Microsoft.

Der für WSL2 bereitgestellte Kernel wird vollständig Open Source sein, und Microsoft wird Anleitungen auf GitHub veröffentlichen, wie man diesen Kernel erstellt. Das Unternehmen wird mit Entwicklern zusammenarbeiten, die an dem Projekt mitwirken möchten, und aufkommende Änderungen fördern.

Die Microsoft-Entwickler haben WSL2 mithilfe von Continuous Integration und Continuous Delivery-Systemen erstellt, die im Unternehmen betrieben werden. Diese Software wird über das Windows-Update-System gewartet und bleibt für den Benutzer vollständig transparent. Der Kernel wird aktuell bleiben und alle Funktionen des neuesten stabilen Linux-Zweigs enthalten.

Um die Verfügbarkeit des Quellcodes sicherzustellen, spiegelt das Unternehmen die Repositories lokal und überwacht fortlaufend die Inhalte der Linux-Sicherheitsmailingliste. Zudem arbeitet es mit mehreren Firmen zusammen, die Datenbankanwendungen in der Unternehmensvirtualisierungsumgebung (CVE) unterstützen. Dadurch wird gewährleistet, dass der Linux-Kernel von Microsoft die neuesten Updates berücksichtigt und alle auftretenden Bedrohungen beseitigt.

Anpassungen werden verbindlich

Microsoft garantiert, dass alle Kerneländerungen in aufsteigender Richtung verbreitet werden – ein wichtiger Aspekt der Linux-Philosophie. Die Unterstützung absteigender Patches bringt zusätzliche Komplexität mit sich und ist zudem in der Open-Source-Entwicklung nicht üblich.

Das Ziel von Microsoft, das aktiv Linux nutzt, ist es, ein disziplinierter Mitglied dieser Gemeinschaft zu werden und die vorgenommenen Änderungen der Gemeinschaft zur Verfügung zu stellen. Um die Stabilität von langfristig unterstützten Branches zu gewährleisten, können einige Patches – wie beispielsweise solche mit neuen Funktionen – nur in neue Kernel-Versionen aufgenommen werden und nicht rückwärtskompatibel in die aktuelle LTS-Version portiert werden.

Wenn der Quellcode des WSL-Kernels verfügbar ist, wird er aus Verweisen auf eine Reihe von Patches und einem stabilen, langlebigen Teil des Quellcodes bestehen. Microsoft erwartet, dass diese Liste mit der Zeit kürzer wird, während die Patches in aufsteigender Richtung verbreitet werden, und neue lokale Patches zur Unterstützung frischer WSL-Funktionen hinzugefügt werden.

Eine ansprechendere Fensteroberfläche

Microsoft hat außerdem die bevorstehende "Winter"-Version des Windows Terminals angekündigt – eine neue Anwendung für Benutzer, die mit Kommandozeilen-Tools und -Shells arbeiten, insbesondere mit der Eingabeaufforderung, PowerShell und WSL.

Der Pinguin im Fenster: über das Potenzial und die Perspektiven von WSL2

Windows Terminal

Windows Terminal 1.0 bietet eine Vielzahl von Anpassungsmöglichkeiten und Konfigurationsfunktionen, die eine umfassendere Kontrolle über das Erscheinungsbild des Terminalfensters sowie die Shells/Profile ermöglichen, die als neue Tabs geöffnet werden sollen.

Die Einstellungen werden in einer strukturierten Textdatei gespeichert, was die Konfiguration und Anpassung des Terminalfensters nach eigenen Wünschen erleichtert.

Microsoft stellt die Weiterentwicklung der bestehenden Windows-Konsole ein und erstellt eine neue von Grund auf, wobei ein frischer Ansatz verfolgt wird. Windows Terminal wird parallel zur vorhandenen Windows-Konsole installiert und betrieben, die "out of the box" mitgeliefert wird.

Wie es funktioniert

Wenn ein Windows 10-Nutzer Cmd/PowerShell/etc. direkt startet, wird ein Prozess aktiviert, der an eine normale Instanz der Konsole angeheftet ist. Der Konfigurationsmechanismus des neuen Terminals ermöglicht es Windows-Nutzern, zahlreiche Profile für sämtliche gewünschten Shells/Anwendungen/Tools zu erstellen, sei es in PowerShell, der Eingabeaufforderung, Ubuntu oder sogar bei SSH-Verbindungen zu Azure oder IoT-Geräten.

Diese Profile können eigene Kombinationen aus Schriftartgestaltung und -größe, Farbthemen sowie Ebenen der Unschärfe oder Transparenz des Hintergrunds vorsehen. Zudem können die Nutzer eine neue, modernere Monospace-Schriftart wählen, damit das Terminalfenster zeitgemäß und ansprechend aussieht. Diese Schriftart wird mit Programmierligaturen ausgestattet, im Open Source zur Verfügung gestellt und in einem eigenen Repository aufbewahrt.

Die Hauptvorteile der neuen Windows-Befehlsoberfläche sind die zahlreichen Tabs und der ansprechende Text. Die Unterstützung für mehrere Tabs galt als der am meisten geforderte Wunsch in Bezug auf die Terminalentwicklung. Der ansprechende Text wird durch einen Rendering-Engine auf Basis von DirectWrite/DirectX erzielt, der mit GPU-Beschleunigung ausgestattet ist.

Die Engine zeigt Textsymbole, Glyphen und spezielle Zeichen an, die in Schriftarten enthalten sind, einschließlich chinesischer, japanischer und koreanischer Ideogramme (CJK), Emojis, Powerline-Symbole, Icons und Programmierligaturen. Darüber hinaus zeigt diese Engine Text viel schneller an als GDI, das zuvor in der Konsole verwendet wurde.

Die Abwärtskompatibilität bleibt vollkommen gegeben, wobei bei Bedarf auch Windows Terminal ausprobiert werden kann.

Chronologie: Wie es aussehen wird

Microsoft wird Windows Terminal über den Microsoft Store in Windows 10 bereitstellen und regelmäßig aktualisieren. So arbeiten Benutzer immer mit den neuesten Versionen und den aktuellsten Verbesserungen – praktisch ohne großen Aufwand.

Microsoft plant, den neuen Terminal in der kommenden Winterperiode zu starten. Nachdem Microsoft Windows Terminal 1.0 veröffentlicht hat, werden die Entwickler weiterhin an vielen Funktionen arbeiten, die bereits im Backlog zurückgestellt wurden.

Der Quellcode von Windows Terminal und Windows Console wurde bereits veröffentlicht auf GitHub weiterentwickelt.

Was könnte uns in Zukunft erwarten?

Die Möglichkeit, dass Microsoft sein eigenes Linux-Kernel auch für andere Zwecke, beispielsweise zur Entwicklung einer eigenen Linux-Distribution, nutzen könnte, erscheint heute etwas hypothetisch.

Wahrscheinlich hängt das Ergebnis davon ab, ob Microsoft eine merkliche Nachfrage nach einem solchen Produkt feststellen kann und welche geschäftlichen Möglichkeiten sich durch solche Entwicklungen potenziell eröffnen – meint Charles King.

Er glaubt, dass das Unternehmen in naher Zukunft den Schwerpunkt auf die Gewährleistung einer immer engeren Kompatibilität zwischen Windows und Linux sowie deren gegenseitiger Ergänzung legen wird.

Joshua Schwartz ist der Ansicht, dass in diesem Fall abgewogen werden muss, welche Investitionen in diese Arbeit erforderlich sind und welche Rendite daraus zu erwarten ist. Wäre Microsoft heute ein ganz junges Unternehmen, würde es wahrscheinlich alles auf Linux-Basis umsetzen. Allerdings erscheint die Portierung aller bereits vorhandenen Entwicklungen von Microsoft auf die native Linux-Architektur heute als kostspieliges und komplexes Projekt, das sich kaum rentieren wird. Linux-Enthusiasten werden sich Linux holen, während die ursprüngliche Architektur unberührt bleibt.

Als Apple 2000 Mac OS neu erfand, basierte dieses Betriebssystem auf BSD Unix, das mehr Ähnlichkeit mit Linux als mit DOS aufweist. Heute wird die neue Version von Microsoft Windows jedoch genau auf Basis von Linux erstellt.

Vielleicht öffnet sich vor uns eine neue Tür?

Der Linux-Kernel von Microsoft kann den Weg für eine engere Zusammenarbeit zwischen Windows-Diensten und dem Linux-Betriebssystem ebnen. Im Grunde genommen zeigen diese Entwicklungen bei Microsoft, dass auch das Unternehmen selbst versteht: Heute gibt es kaum noch Kunden, die in einer Welt leben wollen, in der es nur Windows gibt.

Es ist viel sinnvoller, heterogene Technologien und Systeme zu nutzen, die den geschäftlichen Anforderungen und spezifischen praktischen Situationen am besten gerecht werden.

Eine wichtigere strategische Frage ist, welche neuen strategischen Möglichkeiten ein solcher Schritt für die Microsoft-Plattform eröffnet.

Azure – die Cloud-Ökosystem von Microsoft – bietet bereits enorme Unterstützung für Linux. Früher unterstützte Windows Linux gut über virtuelle Maschinen.

Die grundlegenden Veränderungen, die heute stattfinden, liegen darin, dass Linux-Prozesse nun nativ auf dem Windows-Kernel ausgeführt werden, was bedeutet, dass die Arbeit mit Linux aus Windows heraus erheblich schneller erfolgen wird als auf virtuellen Maschinen. Es ist sehr wahrscheinlich, dass Azure dadurch mit einer ganzen Schicht von Ingenieuren reicher wird, die Linux in großem Maßstab nutzen.

Quelle: habr.com

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster