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

Hallo, Habra!

Während bei uns der Sommerausverkauf in vollem Gange ist, möchten wir Ihnen ein Thema vorschlagen, das wir in letzter Zeit intensiv bearbeiten — die Interaktion zwischen Windows und Linux, die insbesondere mit der Weiterentwicklung des Systems verbunden ist.. WSL 2 steht vor der Tür und wir bieten Ihnen einen kurzen Überblick über die Möglichkeiten, die uns in diesem Subsystem erwarten, sowie eine Prognose über die zukünftige Integration von Windows und Linux. ). Sie sagen, dass Microsoft sich im Grunde nicht verändert hat und sich niemals ändern wird.Im Mai dieses Jahres gab Microsoft bekannt, dass WSL2, die neueste Version des Windows-Subsystems für Linux, auf einem vollfunktionsfähigen Linux-Kernel basieren wird, der im Unternehmen erstellt wurde.

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

Somit integriert Microsoft erstmals einen Linux-Kernel in Windows als eines der Komponenten. Zudem führt Microsoft eine neue Eingabeaufforderung in Windows ein, die die Möglichkeiten von PowerShell und WSL erweitert.
Sowohl der für WSL2 von Microsoft entwickelte Linux-Kernel als auch die neue Windows-Eingabeaufforderung sind vor allem für Entwickler von 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 ist nicht mit dem PC-Markt verbunden, obwohl das Unternehmen auch weiterhin eine starke Position in diesem Segment einnehmen wird. Viel wichtiger wird die feste Etablierung auf dem Cloud-Markt sein, zu dem in Zukunft auch Desktop-PCs gehören könnten.

Was macht WSL2?

WSL2 ist die neueste Infrastruktur des Windows-Subsystems für Linux. Sie ermöglicht eine radikale Steigerung der Leistung des Dateisystems und gewährleistet vollständige Kompatibilität mit Systemaufrufen.

Eine der Hauptanforderungen der WSL-Community war die Erweiterung der Funktionalität. Unter WSL2 laufen wesentlich mehr Linux-Tools als unter WSL, insbesondere Docker und FUSE.

WSL2 verarbeitet intensive Dateioperationen, 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.
Die ersten Tests zeigten, dass WSL2 beim Entpacken von tar aus zip ungefähr 20 Mal schneller war als WSL1. Bei der Verwendung von git clone, npm install und cmake in verschiedenen Projekten erzielte das System eine Leistungssteigerung um das Zwei- bis Fünfzehnfache.

Wird es helfen, das Vertrauen der Entwickler zu gewinnen?

Wird das das Vertrauen der Entwickler gewinnen?

Im Grunde strebt Microsoft danach, Anerkennung und Vertrauen in der Entwicklergemeinschaft zu gewinnen, indem es eine eigene Version des Linux-Kernels für die Unterstützung der WSL2-Prozesse entwickelt, meint Kodi Suwann, CEO von Gunner Technology.

„Abgesehen von der Entwicklung speziell für Windows war die Erstellung aller anderen Anwendungen – Cloud-, mobile und Webanwendungen – auf dem PC äußerst unpraktisch, weshalb Entwickler gezwungen waren, ein Linux-Distribution parallel zu Windows zu laden. Microsoft hat das erkannt und eine Lösung angeboten“, schließt er.

Es ist unwahrscheinlich, dass die Einführung eines eigenen Linux-Kernels die Funktionsweise des Systems aus der Sicht des normalen Benutzers erheblich beeinträchtigt. Sollte dies jedoch der Fall sein, ergeben sich Möglichkeiten für eine engere Interaktion zwischen den Microsoft-Diensten und dem Linux-Betriebssystem.
Dieser Schritt von Microsoft ist in der Tat sehr klug, da er hilft, tiefer in die Entwicklergemeinschaft einzudringen und aktiv Produkte zu nutzen, die von anderen entwickelt werden – das heißt, Zugang zu Open Source zu erhalten, glaubt Suwann.

Willkommen im neuen Microsoft

Der Trend zur Schaffung und Unterstützung eines ‚speziellen Linux-Kernels für Windows‘ spiegelt die klare Richtung wider, die CEO Satya Nadella in Richtung Open Source vorantreibt. Microsoft ist nicht mehr das Unternehmen, das unter Gates und Ballmer alles hinter einer proprietären Mauer verborgen hielt, während über Interoperabilität niemand nachdachte.

„Satya hat Microsoft vollständig in eine viel modernere Plattform umgewandelt, und diese Strategie hat sich mehr als ausgezahlt. Hallo, Billionen-Dollar-Kapitalisierung“, sagt Schwartz.

Laut Charles King, Hauptanalyst bei Pund-IT, hängen zwei der Hauptvorteile von Microsoft mit Effizienz und Sicherheit zusammen.

„Durch die aktive Nutzung eigener, bedeutender Ressourcen und Werkzeuge kann das Unternehmen seinen Kunden garantieren, dass der Kernel vollständig aktuell und mit den neuesten Patches und Updates ausgestattet ist, um volle Sicherheit zu gewährleisten“, fügt er hinzu.

Entwickler profitieren ebenfalls.

Binärdateien von Linux übernehmen viele Funktionen durch Systemaufrufe, zum Beispiel greifen sie auf Dateien zu, fordern Speicher an und erstellen Prozesse. WSL1 basiert auf einer Übersetzungsebene, die viele dieser Systemaufrufe interpretiert und ihnen ermöglicht, mit dem Windows NT-Kernel zu interagieren.

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

Die neue Architektur ermöglicht es Microsoft, die neuesten Optimierungen schneller in den Linux-Kernel zu integrieren als im Falle von WSL1. Microsoft kann den WSL2-Kernel aktualisieren, anstatt alle Einschränkungen neu zu implementieren.

Vollständig quelloffenes Werkzeug

Die Entwicklung eines eigenen Linux-Kernels durch Microsoft war der Höhepunkt jahrelanger Arbeit, die von der Linux Systems Group und vielen anderen Teams innerhalb von Microsoft geleistet wurde, so Jack Hammons, Programmmanager in der Linux Systems Group von Microsoft.

Der für WSL2 bereitgestellte Kernel wird vollständig quelloffen sein, und Microsoft wird auf GitHub Anleitungen veröffentlichen, wie man einen solchen Kernel erstellt. Das Unternehmen wird mit Entwicklern zusammenarbeiten, die dem Projekt helfen wollen, und aufkommende Änderungen fördern.

Die Entwickler von Microsoft haben WSL2 unter Verwendung von Continuous Integration und Continuous Delivery-Frameworks entwickelt, die im Unternehmen tätig sind. Diese Software wird über das Windows-Update-System bereitgestellt und bleibt vollständig transparent für den Benutzer. 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 kontinuierlich den Inhalt der Linux-Mailingliste in Bezug auf Sicherheitsprobleme und arbeitet mit mehreren Unternehmen zusammen, die Datenbanken in einer Unternehmens-virtuellen Umgebung (CVE) unterstützen. Damit wird gewährleistet, dass im Linux-Kernel von Microsoft die neuesten Updates berücksichtigt und alle auftretenden Bedrohungen behoben werden.

Aufkommende Änderungen werden verpflichtend

Microsoft garantiert, dass alle Änderungen am Kernel aufsteigend verteilt werden – ein wichtiger Aspekt der Linux-Philosophie. Die Unterstützung abwärts gerichteter Patches bringt zusätzliche Komplexität mit sich; zudem ist diese Praxis in der Community der Freien Software nicht weit verbreitet.

Das Ziel von Microsoft, das Linux aktiv nutzt, ist es, ein disziplinierter Teil dieser Community zu werden und die vorgenommenen Änderungen der Community zur Verfügung zu stellen. Um die Stabilität von Versionen mit langfristiger Unterstützung zu gewährleisten, können einige Patches – beispielsweise solche mit neuen Funktionen – nur in neue Kernel-Versionen integriert werden und nicht in der aktuellen LTS-Version abwärtskompatibel portiert werden.

Wenn der Quellcode des WSL-Kernels verfügbar ist, wird er aus Verweisen auf eine Reihe von Patches und einem stabilen Teil des Quellcodes bestehen. Microsoft erwartet, dass sich diese Liste im Laufe der Zeit verkürzen wird, da die Patches aufsteigend verteilt werden und neue lokale Patches hinzugefügt werden, um neue WSL-Funktionen zu unterstützen.

Eine angenehmere Fensteranpassung

Microsoft hat auch die bevorstehende Veröffentlichung der "Winter"-Version des Windows Terminals angekündigt – eine neue Anwendung für Benutzer, die mit Kommandozeilenwerkzeugen und -shells, insbesondere der Eingabeaufforderung, PowerShell und WSL, arbeiten.

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

Windows-Terminal

Windows Terminal 1.0 bietet zahlreiche Anpassungs- und Konfigurationsmöglichkeiten, die mehr Kontrolle über das Design des Terminalfensters sowie über die Shells/Profiles ermöglichen, die als neue Tabs geöffnet werden sollen.

Die Einstellungen werden in einer strukturierten Textdatei gespeichert, sodass sie leicht zu konfigurieren sind und das Terminalfenster nach den eigenen Wünschen gestaltet werden kann.

Microsoft stellt die Entwicklung der bestehenden Windows-Konsole ein und erstellt eine neue von Grund auf, wobei ein frischer Ansatz verfolgt wird. Windows Terminal wird parallel zur bestehenden Windows-Konsole installiert und ausgeführt, die "out of the box" geliefert wird.

Die DANE-Spezifikation ist in

Wenn ein Windows 10-Benutzer Cmd/PowerShell/usw. direkt ausführt, wird ein Prozess gestartet, der an einer regulären Instanz der Konsole angeheftet ist. Der Konfigurationsmechanismus des neuen Terminals ermöglicht es Windows-Benutzern, mehrere Profile für alle gewünschten Shells/Anwendungen/Tools zu erstellen, sei es in PowerShell, der Eingabeaufforderung, Ubuntu oder sogar bei SSH-Verbindungen mit Azure oder Internet of Things-Geräten.

In diesen Profilen können eigene Layouts und Schriftgrößen, Farbthemen, sowie Abstufungen der Unschärfe oder Transparenz des Hintergrunds vorgesehen werden. Außerdem können Benutzer eine neue monospace Schriftart wählen, damit das Terminalfenster moderner und cooler aussieht. Diese Schriftart unterstützt programmatische Ligaturen, wird öffentlich zugänglich gemacht und in einem eigenen Repository gespeichert.

Die Hauptvorteile der neuen Windows-Befehlsoberfläche sind eine Vielzahl von Tabs und schöner Text. Die Unterstützung mehrerer Tabs galt als die am häufigsten angefragte Funktion bei der Entwicklung des Terminals. Der schöne Text entsteht durch die Rendering-Engine, die auf DirectWrite/DirectX basiert und mit GPU-Beschleunigung ausgestattet ist.

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

Die Abwärtskompatibilität bleibt vollständig gewährleistet, obwohl Benutzer nach Bedarf auch Windows Terminal ausprobieren können.

Chronologie: wie es sein wird

Microsoft wird Windows Terminal über den Microsoft Store in Windows 10 bereitstellen und regelmäßig aktualisieren. So arbeiten die Benutzer immer mit den neuesten Versionen und den aktuellsten Anpassungen – nahezu ohne zusätzliche Mühe.

Microsoft plant, das neue Terminal in der nächsten Winterperiode zu starten. Nachdem Microsoft Windows Terminal 1.0 präsentiert hat, werden die Entwickler weiterhin an vielen Möglichkeiten arbeiten, die bereits im Backlog liegen.

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

Was uns in Zukunft erwarten könnte?

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

Es ist wahrscheinlich, dass das Ergebnis davon abhängt, ob Microsoft eine spürbare Nachfrage nach einem solchen Produkt erkennen kann und welche kommerziellen Möglichkeiten 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, wie hoch die Investitionen in diese Arbeit sein werden und wie hoch die Rendite daraus ist. Wenn Microsoft heute ein ganz junges Unternehmen wäre, würde es wahrscheinlich alles auf Basis von Linux machen. Die Portierung aller bereits vorhandenen Entwicklungen von Microsoft auf die native Architektur von Linux erscheint jedoch heute als ein kostspieliges und komplexes Projekt, das sich kaum rentieren wird. Linux-Enthusiasten werden ihr Linux bekommen, während die Hauptarchitektur unberührt bleibt.

Als Apple im Jahr 2000 Mac OS neu erfand, wurde dieses Betriebssystem auf Basis von BSD Unix entwickelt, das Linux ähnlicher ist als DOS. Heute wird die neue Version von Microsoft Windows genau auf der Basis von Linux erstellt.

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

Der Linux-Kernel von Microsoft könnte den Weg für eine engere Interaktion zwischen den Windows-Diensten und dem Linux-Betriebssystem ebnen. Im Grunde zeigen diese Entwicklungen von Microsoft, dass auch im Unternehmen Microsoft das Verständnis wächst: Heute gibt es kaum noch Kunden, die in einer Welt existieren möchten, in der alles Windows ist.

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

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

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

Die grundlegenden Veränderungen, die heute stattfinden, hängen damit zusammen, dass Linux-Prozesse jetzt nativ auf dem Windows-Kernel ausgeführt werden, was bedeutet, dass die Arbeit mit Linux aus Windows viel schneller vonstattengehen wird als auf virtuellen Maschinen. Es ist durchaus wahrscheinlich, dass Azure als Ergebnis eine ganze Schicht von Ingenieuren bereichern wird, die Linux in industriellem Maßstab einsetzen.

Quelle: habr.com

60GB SSD 8Gb DDR4