Pingouin dans la fenêtre : sur le potentiel et les perspectives du WSL2

Hé Habr !

Alors que nous sommes encore en plein essor Solde d'été, nous aimerions vous inviter à discuter de l'un des sujets les plus importants sur lesquels nous avons travaillé ces derniers temps - l'interaction de Windows et Linux, liée notamment au développement du système WSL. WSL 2 est en route, et voici un bref aperçu de ce qui va arriver dans ce sous-système, ainsi qu'une prévision de l'intégration future entre Windows et Linux.

Pingouin dans la fenêtre : sur le potentiel et les perspectives du WSL2

En mai de cette année, Microsoft a annoncé que WSL2, la dernière version du sous-système Windows sous Linux, fonctionnerait sur un noyau Linux complet construit en interne.
C'est la première fois que Microsoft inclut le noyau Linux en tant que composant dans Windows. Microsoft introduit également une ligne de commande dans Windows qui étendra les capacités de PowerShell et WSL.

Tant le noyau Linux pour WSL2, créé par Microsoft, que la nouvelle ligne de commande Windows intéressent principalement les développeurs.

"Il s'agit de l'action la plus forte contre AWS", déclare Joshua Schwartz, directeur des programmes de numérisation du cabinet de conseil AT Kearney.

L'avenir de Microsoft n'est pas lié au marché des PC, même s'il continuera à occuper fermement sa position dans ce segment. Il sera bien plus important de prendre pied sur le marché du cloud, dont l'une des composantes à l'avenir pourrait être les ordinateurs de bureau.

Que fait WSL2 ?

WSL2 est le dernier framework de sous-système Windows pour Linux. Il vous permet d'améliorer radicalement les performances du système de fichiers et offre une compatibilité totale avec les appels système.

L’une des principales demandes de la communauté WSL concernait l’amélioration des fonctionnalités. WSL2 exécute beaucoup plus d'outils Linux que WSL, notamment Docker et FUSE.
WSL2 gère les opérations gourmandes en fichiers, en particulier git clone, npm install, apt update et apt update. L'augmentation réelle de la vitesse dépend de l'application spécifique et de la manière dont elle interagit avec le système de fichiers.

Les premiers tests ont montré que WSL2 est environ 20 fois plus rapide que WSL1 pour décompresser tar à partir de zip. Lors de l'utilisation de git clone, npm install et cmake dans divers projets, le système a montré des performances deux à cinq fois supérieures.

Cela aidera-t-il à gagner la confiance des développeurs ?

Essentiellement, Microsoft cherche à gagner la reconnaissance et la confiance de la communauté des développeurs en développant sa propre version du noyau Linux pour prendre en charge les processus WSL2, a déclaré Cody Swann, PDG de Gunner Technology.

« En plus du développement strictement pour Windows, la création de toutes les autres applications - applications cloud, mobiles, Web - sur un PC était extrêmement gênante, c'est pourquoi le développeur a dû d'une manière ou d'une autre démarrer une distribution Linux en parallèle avec le système d'exploitation Windows. Microsoft l'a reconnu et a trouvé une solution », conclut-il.

Il est peu probable que l'introduction d'un noyau Linux personnalisé ait un impact sérieux sur le système du point de vue de l'utilisateur moyen. Cependant, cela ouvre des opportunités pour une interaction plus étroite entre les services Microsoft et le système d'exploitation Linux.
Cette démarche de la part de Microsoft est en effet très intelligente, car elle permet de pénétrer plus profondément dans la communauté des développeurs, ainsi que d'utiliser activement les produits que quelqu'un d'autre développe - c'est-à-dire de se connecter à l'open source, explique Swann.

Bienvenue dans le nouveau Microsoft

La tendance à créer et à maintenir un noyau Linux « spécifiquement pour Windows » reflète la forte orientation open source promue par le PDG Satya Nadella. Microsoft n'est plus le même que sous Gates et Ballmer, lorsque tout était gardé derrière une clôture propriétaire et que personne ne pensait à l'interopérabilité.

« Satya a complètement transformé Microsoft en une plateforme beaucoup plus moderne, et cette stratégie a largement porté ses fruits. Bonjour, capitalisation de mille milliards de dollars », déclare Schwartz.

Selon Charles King, analyste principal chez Pund-IT, les deux principaux atouts de Microsoft sont l'efficacité et la sécurité.

"En utilisant activement ses propres développements sérieux - ressources et outils - l'entreprise peut garantir à ses clients que le noyau sera complètement à jour et équipé des derniers correctifs et correctifs pour assurer une sécurité totale", ajoute-t-il.

Les développeurs bénéficient également

Les binaires Linux exécutent de nombreuses fonctions à l'aide d'appels système, telles que l'accès à des fichiers, la demande de mémoire et la création de processus. WSL1 s'appuie sur une couche de traduction pour interpréter bon nombre de ces appels système et leur permettre d'interagir avec le noyau Windows NT.

Le plus difficile est d’implémenter tous les appels système. Comme cela n’était pas fait dans WSL1, certaines applications ne pouvaient pas y fonctionner. WSL2 introduit de nombreuses nouvelles applications qui fonctionnent bien dans cet environnement.

La nouvelle architecture permet à Microsoft d'apporter les dernières optimisations au noyau Linux beaucoup plus rapidement qu'avec WSL1. Microsoft peut mettre à jour le noyau WSL2 plutôt que de réimplémenter toutes les restrictions.

Outil entièrement open source

Le développement par Microsoft de son propre noyau Linux a été l'aboutissement d'années de travail du Linux Systems Group, ainsi que de nombreuses autres équipes de Microsoft, a déclaré Jack Hammons, responsable de programme chez Linux Systems Group, Microsoft.

Le noyau fourni pour WSL2 sera entièrement open source et Microsoft publiera des instructions sur la façon de créer un tel noyau sur GitHub. L'entreprise collaborera avec des développeurs désireux de contribuer au projet et de susciter un changement ascendant.

Les développeurs Microsoft ont créé WSL2 à l'aide des systèmes d'intégration continue et de livraison continue de l'entreprise. Ce logiciel sera servi via le système de mise à jour Windows et sera totalement transparent pour l'utilisateur. Le noyau restera à jour et inclura toutes les fonctionnalités de la dernière branche stable de Linux.

Pour garantir la disponibilité des sources, la société met en miroir les référentiels localement, surveille en permanence le contenu de la liste de diffusion de sécurité Linux et travaille avec plusieurs sociétés prenant en charge les bases de données dans les environnements virtuels d'entreprise (CVE). Cela garantit que le noyau Linux de Microsoft est à jour avec les dernières mises à jour et élimine toute menace émergente.

Les changements ascendants deviennent obligatoires

Microsoft veille à ce que toutes les modifications du noyau soient propagées en amont, un aspect important de la philosophie Linux. La prise en charge des correctifs en aval s'accompagne d'une complexité supplémentaire ; De plus, cette pratique n’est pas courante dans la communauté open source.

L'objectif de Microsoft en tant qu'utilisateur actif de Linux est d'être un membre discipliné de la communauté et de contribuer aux changements de la communauté. Pour assurer la stabilité des branches associées au support à long terme, certains patchs - par exemple ceux contenant de nouvelles fonctionnalités - peuvent n'être inclus que dans les nouvelles versions du noyau, et non portés vers la version LTS actuelle en mode de rétrocompatibilité.

Lorsque les sources principales de WSL seront disponibles, elles seront constituées de liens vers un ensemble de correctifs et une partie stable de longue durée des sources. Microsoft s'attend à ce que cette liste diminue au fil du temps à mesure que les correctifs sont distribués en amont et que de nouveaux correctifs locaux sont ajoutés pour prendre en charge les nouvelles fonctionnalités WSL.

Conception de fenêtre plus agréable

Microsoft a également annoncé la prochaine version hivernale de Windows Terminal, une nouvelle application destinée aux utilisateurs qui travaillent avec des outils et des shells de ligne de commande, tels que l'invite de commande, PowerShell et WSL.

Pingouin dans la fenêtre : sur le potentiel et les perspectives du WSL2

Terminal Windows

Windows Terminal 1.0 offre de nombreux paramètres et options de configuration qui vous donnent plus de contrôle sur l'apparence de la fenêtre du terminal, ainsi que sur les shells/profils qui doivent s'ouvrir sous forme de nouveaux onglets.

Les paramètres seront enregistrés dans un fichier texte structuré, ce qui facilitera la configuration et la conception de la fenêtre du terminal à votre goût.

Microsoft n'affine plus la console Windows existante et en crée une nouvelle à partir de zéro, décidant d'adopter une nouvelle approche. Windows Terminal s'installe et s'exécute en parallèle avec l'application Windows Console existante prête à l'emploi.

Comment ça marche

Lorsqu'un utilisateur de Windows 10 lance directement Cmd/PowerShell/etc, le processus attaché à l'instance de console standard est déclenché. Le moteur de configuration du nouveau terminal permet aux utilisateurs de Windows de créer plusieurs profils pour tous les shells/applications/outils souhaités, que ce soit dans PowerShell, Invite de commandes, Ubuntu ou même dans les connexions SSH aux appareils Azure ou IoT.

Ces profils peuvent fournir leurs propres combinaisons de conception et de taille de police, de thèmes de couleurs, de niveaux de flou d'arrière-plan ou de transparence. De plus, les utilisateurs pourront choisir une nouvelle police monospace pour rendre la fenêtre du terminal plus moderne et plus cool. Cette police contient des ligatures de programmeur ; elle sera rendue publique et stockée dans son propre référentiel.

Les principaux avantages de la nouvelle interface de commande Windows sont de nombreux onglets et un beau texte. La prise en charge de plusieurs onglets était considérée comme la demande la plus demandée pour le développement de terminaux. Un beau texte est obtenu grâce au moteur de rendu basé sur DirectWrite/DirectX, équipé d'une accélération GPU.

Le moteur affiche des icônes de texte, des glyphes et des caractères spéciaux trouvés dans les polices, notamment des idéogrammes chinois, japonais et coréens (CJK), des emoji, des symboles CPL, des icônes et des ligatures de programmation. De plus, ce moteur restitue le texte beaucoup plus rapidement que le GDI précédemment utilisé dans la console.

La rétrocompatibilité reste complète, même si vous pouvez essayer Windows Terminal si vous le souhaitez.

Chronologie : comment cela va se passer

Microsoft fournira Windows Terminal via le Microsoft Store dans Windows 10 et le mettra à jour régulièrement. De cette façon, les utilisateurs seront toujours à jour avec les dernières versions et améliorations, pratiquement sans effort supplémentaire.

Microsoft prévoit de lancer un nouveau terminal cet hiver. Une fois que Microsoft aura déployé Windows Terminal 1.0, les développeurs continueront à travailler sur de nombreuses fonctionnalités déjà en retard.

Code source du terminal Windows et de la console Windows déjà posté sur GitHub.

Qu’est-ce qui peut nous attendre dans le futur ?

La possibilité que Microsoft utilise son propre noyau Linux à d'autres fins, par exemple pour développer sa propre distribution Linux, semble aujourd'hui quelque peu hypothétique.

Le résultat dépendra probablement de la capacité de Microsoft à trouver une demande significative pour un tel produit et des opportunités commerciales que de tels développements pourraient potentiellement ouvrir, explique Charles King.

Il pense que l'objectif de l'entreprise dans un avenir proche sera de rendre Windows et Linux de plus en plus compatibles et complémentaires.

Joshua Schwartz estime que dans ce cas, il faudra peser quel sera l'investissement dans ce travail et quel en sera le retour. Si Microsoft était aujourd’hui une très jeune entreprise, elle ferait probablement tout sur Linux. Cependant, porter aujourd'hui tous les développements déjà disponibles de Microsoft vers l'architecture native Linux semble être un projet coûteux et complexe qui a peu de chances d'être rentable. Les amateurs de Linux obtiendront leur propre Linux et l'architecture de base restera intacte.

Lorsqu'Apple a réinventé Mac OS en 2000, le système d'exploitation était basé sur BSD Unix, qui ressemble plus à Linux qu'à DOS. Aujourd'hui, une nouvelle version de Microsoft Windows est en cours de création, basée sur Linux.

Peut-être qu’une nouvelle porte s’ouvre pour nous ?

Le noyau Linux de Microsoft pourrait ouvrir la voie à une plus grande interopérabilité entre les services Windows et le système d'exploitation Linux. En substance, ces développements de Microsoft indiquent que Microsoft lui-même l'a déjà compris : aujourd'hui, il n'y a presque plus de clients qui préfèrent exister dans un monde où tout est Windows.

Il est bien plus logique d’utiliser des technologies et des systèmes hétérogènes qui répondent au mieux aux exigences métiers et aux situations pratiques spécifiques.

La question stratégique plus large est la suivante : quelles nouvelles opportunités stratégiques cette décision ouvre-t-elle pour la plate-forme Microsoft elle-même ?

Azure, l'écosystème cloud de Microsoft, offre déjà un formidable support pour Linux. Auparavant, Windows prenait bien en charge Linux en utilisant des machines virtuelles.

Les changements fondamentaux qui ont lieu aujourd'hui sont dus au fait que désormais les processus Linux s'exécuteront nativement sur le noyau Windows, ce qui signifie que travailler avec Linux depuis Windows sera beaucoup plus rapide que sur des machines virtuelles. Il est probable qu’Azure s’enrichisse ainsi de toute une couche d’ingénieurs utilisant Linux à l’échelle industrielle.

Source: habr.com

Ajouter un commentaire