Salut, Habr !
Tandis que notre vente d'été est en cours, WSL. WSL 2 est déjà sur le point d'arriver, et nous vous proposons un aperçu des fonctionnalités qui nous attendent dans cette sous-système, ainsi qu'une prévision de l'intégration future entre Windows et Linux.

En mai de cette année, Microsoft a annoncé que WSL2, la dernière version de la sous-système Windows pour Linux, fonctionnerait sur un noyau Linux complet, compilé en interne.
Ainsi, Microsoft intègre pour la première fois un noyau Linux dans Windows comme l'un de ses composants. Microsoft introduit également une nouvelle interface en ligne de commande dans Windows qui étendra les capacités de PowerShell et WSL.
Tant le noyau Linux de WSL2, développé par Microsoft, que la nouvelle interface en ligne de commande de Windows sont particulièrement intéressants pour les développeurs.
« C'est un coup très fort dans le jeu contre AWS, » note Joshua Schwartz, responsable des programmes de numérisation chez le cabinet de conseil A.T. Kearney.
L'avenir de Microsoft n'est pas lié au marché des PC, bien qu'elle continuera à maintenir des positions solides dans ce secteur. Il sera bien plus important de se implanter sur le marché du cloud, dans lequel les PC de bureau pourraient également avoir un rôle à jouer à l'avenir.
Que fait WSL2 ?
WSL2 est la dernière infrastructure de la sous-système Windows pour Linux. Elle permet d'améliorer radicalement la performance du système de fichiers et assure une compatibilité totale avec les appels système.
Une des demandes principales de la communauté WSL était liée à l'amélioration des fonctionnalités. WSL2 prend en charge beaucoup plus d'outils sous Linux que WSL, en particulier Docker et FUSE.
WSL2 gère les opérations de fichiers intensives, notamment git clone, npm install, apt update et apt upgrade. L'augmentation effective de la vitesse dépendra 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 extraire tar à partir de zip. Lors de l'utilisation de git clone, npm install et cmake dans divers projets, le système a montré une augmentation de la performance de deux à cinq fois.
Cela aidera-t-il à gagner la confiance des développeurs ?
En réalité, Microsoft cherche à gagner reconnaissance et confiance au sein de la communauté des développeurs en développant sa propre version du noyau Linux pour soutenir les processus WSL2, estime Cody Swann, PDG de Gunner Technology.
« À part le développement strictement sur Windows, créer toutes les autres applications – cloud, mobile, applications web – sur PC a été extrêmement peu pratique, ce qui a forcé les développeurs à charger un distributeur Linux parallèlement à Windows. Microsoft a reconnu cela et a proposé une solution, » conclut-il.
Il est peu probable que l'introduction de son propre noyau Linux ait un impact significatif sur l'utilisation du système pour l'utilisateur ordinaire. Cependant, cela ouvre des possibilités pour une interaction plus étroite entre les services Microsoft et le système d'exploitation Linux.
Une telle démarche de la part de Microsoft est en effet très judicieuse, car elle aide à mieux s'intégrer dans la communauté des développeurs, tout en permettant de tirer parti de produits développés par d'autres – c'est-à-dire, de se connecter à l'open source – estime Swann.
Bienvenue dans le nouveau Microsoft
La tendance à créer et à soutenir un noyau Linux « spécialement pour Windows » reflète une direction résolue vers l'open source, promue par le PDG Satya Nadella. Microsoft n'est plus ce qu'il était à l'époque de Gates et Ballmer, où tout était enfermé derrière une clôture propriétaire, et l'interopérabilité n'était même pas envisagée.
« Satya a complètement transformé Microsoft en une plateforme beaucoup plus moderne, et cette stratégie a porté ses fruits. Bonjour, capitalisation de plusieurs trillions de dollars », dit Schwartz.
Selon Charles King, principal analyste 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 entièrement à jour et équipé des derniers correctifs et mises à jour de sécurité assurant une sécurité totale », ajoute-t-il.
Les développeurs en profitent également.
Les fichiers binaires Linux remplissent de nombreuses fonctions grâce à des appels système, comme accéder à des fichiers, demander de la mémoire et créer des processus. WSL1 repose sur un niveau de traduction interprétant de nombreux de ces appels système et leur permettant d'interagir avec le noyau de Windows NT.
Le plus difficile est de mettre en œuvre tous les appels système. Comme cela n'a pas été fait dans WSL1, certaines applications ne pouvaient pas y fonctionner. Avec WSL2, de nombreuses nouvelles applications fonctionnent normalement dans cet environnement.
La nouvelle architecture permet à Microsoft d'apporter des optimisations récentes au noyau Linux beaucoup plus rapidement que dans le cas de WSL1. Microsoft peut mettre à jour le noyau WSL2 sans avoir à réimplémenter toutes les limitations.
Un outil entièrement open source
Le développement de son propre noyau Linux par Microsoft est le résultat de nombreuses années de travail du Linux Systems Group, ainsi que de nombreuses autres équipes au sein de Microsoft, comme l'indique Jack Hammons, responsable des programmes dans le Linux Systems Group de Microsoft.
Le noyau fourni pour WSL2 sera entièrement open source, et Microsoft publiera sur GitHub des instructions sur la façon de compiler ce noyau. L'entreprise collaborera avec des développeurs souhaitant aider le projet et encouragera les contributions en amont.
Les développeurs de Microsoft ont créé WSL2 à l'aide de systèmes d'intégration et de livraison continues fonctionnant au sein de l'entreprise. Ce logiciel sera maintenu via le système de mises à 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 l'accessibilité des sources, l'entreprise miroir les dépôts localement et surveille en permanence le contenu de la liste de diffusion Linux concernant les problèmes de sécurité, tout en collaborant avec plusieurs entreprises soutenant le travail avec des bases de données dans un environnement virtuel d'entreprise (CVE). Ainsi, il est assuré que le noyau Linux de Microsoft intègre les dernières mises à jour et corrige toutes les menaces émergentes.
Les contributions en amont deviennent obligatoires
Microsoft garantit que tous les changements du noyau seront diffusés dans une direction ascendante – c'est un aspect important de la philosophie Linux. Le support des correctifs descendants est associé à des complexités supplémentaires ; de plus, cette pratique n'est pas courante dans la communauté du développement libre.
L'objectif de Microsoft, qui utilise activement Linux, est de devenir un membre discipliné de cette communauté et de fournir les changements à la disposition de celle-ci. Pour assurer la stabilité des branches liées au support à long terme, certains correctifs – par exemple, ceux apportant de nouvelles fonctionnalités – peuvent être inclus uniquement dans de nouvelles versions du noyau, et non portés dans la version actuelle LTS en mode de rétrocompatibilité.
Lorsque les sources du noyau WSL seront disponibles, elles consisteront en des liens vers un ensemble de correctifs et une partie stable à long terme des sources. Microsoft s'attend à ce que ce liste se réduise avec le temps, à mesure que les correctifs seront diffusés dans une direction ascendante, et que de nouveaux correctifs locaux seront ajoutés pour prendre en charge de nouvelles fonctionnalités de WSL.
Une apparence de fenêtres plus agréable
Microsoft a également annoncé la sortie de la version 'hivernale' en préparation du Terminal Windows – c'est une nouvelle application pour les utilisateurs travaillant avec des outils de ligne de commande et des shells, en particulier Command Prompt, PowerShell et WSL.

Terminal Windows
Windows Terminal 1.0 offre de nombreuses options de personnalisation et de configuration, donnant un contrôle plus complet 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 sauvegardés dans un fichier texte structuré, ce qui facilitera leur configuration et leur personnalisation selon vos goûts.
Microsoft cesse de développer la console Windows existante et crée une nouvelle de zéro, adoptant ainsi une approche fraîche. Windows Terminal s'installe et fonctionne parallèlement à l'application Windows Console existante, fournie 'prête à l'emploi'.
Comment cela fonctionne
Lorsque l'utilisateur de Windows 10 lance directement Cmd/PowerShell/etc., un processus attaché à une instance normale de Console est déclenché. Le mécanisme de configuration du nouveau terminal permet aux utilisateurs de Windows de créer plusieurs profils pour tous les shells/apps/outils souhaités, que ce soit dans PowerShell, l'invite de commande, Ubuntu, ou même lors de connexions SSH avec Azure ou des appareils IoT.
Ces profils peuvent inclure leurs propres combinaisons de mise en page et de taille de police, des thèmes de couleur, des niveaux de flou ou de transparence d'arrière-plan. De plus, les utilisateurs pourront choisir une nouvelle police à chasse fixe pour donner un aspect plus moderne et stylé à la fenêtre du terminal. Cette police inclura des ligatures programmatiques, sera mise à disposition en open source et sera conservée dans son propre référentiel.
Les principaux atouts du nouveau terminal de commande Windows sont le support de plusieurs onglets et un texte esthétique. La prise en charge des onglets multiples était la demande la plus sollicitée concernant le développement du terminal. Un texte épuré est obtenu grâce à un moteur de rendu basé sur DirectWrite/DirectX, équipé d'accélération GPU.
Le moteur affiche les caractères textuels, glyphes et symboles spéciaux présents dans les polices, y compris les idéogrammes chinois, japonais et coréens (CJK), des emojis, des symboles de powerline, des icônes, et des ligatures programmatiques. De plus, ce moteur affiche le texte beaucoup plus rapidement que GDI, qui était auparavant utilisé dans la console.
La rétrocompatibilité reste intacte, bien que, si souhaité, on puisse essayer Windows Terminal.
Chronologie : comment cela va se passer
Microsoft proposera Windows Terminal via le Microsoft Store sur Windows 10 et l'actualisera régulièrement. Ainsi, les utilisateurs travailleront toujours avec les dernières versions et les dernières améliorations – pratiquement sans effort supplémentaire.
Microsoft prévoit de lancer le nouveau terminal cet hiver. Après le lancement de Windows Terminal 1.0, les développeurs continueront à travailler sur de nombreuses fonctionnalités déjà mises en attente dans le backlog.
Le code source de Windows Terminal et de Windows Console sur GitHub.
Qu'est-ce qui nous attend à l'avenir ?
La possibilité que Microsoft utilise son propre noyau Linux à d'autres fins, par exemple pour développer sa propre distribution Linux, semble aujourd'hui un peu hypothétique.
Il est probable que la décision dépendra de la capacité de Microsoft à détecter une demande significative pour un tel produit et des opportunités commerciales potentielles que de tels développements pourraient ouvrir, estime Charles King.
Il pense que dans un avenir proche, l'entreprise concentrera ses efforts sur l'amélioration de l'interopérabilité entre Windows et Linux et leur complémentarité.
Joshua Schwartz estime qu'il faudra peser les investissements nécessaires à ce projet et le retour qu'il pourrait générer. Si Microsoft était une toute jeune entreprise aujourd'hui, elle adopterait probablement Linux comme base. Cependant, porter tous les développements existants chez Microsoft vers une architecture Linux native semble aujourd'hui être un projet coûteux et complexe, avec peu de chances de retour sur investissement. Les passionnés de Linux auront Linux, mais l'architecture principale restera intacte.
Lorsque Apple a réinventé Mac OS en 2000, ce système d'exploitation était basé sur BSD Unix, qui est plus proche de Linux que de DOS. Aujourd'hui, la nouvelle version de Microsoft Windows est créée sur la base de Linux.
Peut-être qu'une nouvelle porte s'ouvre devant nous ?
Le noyau Linux de Microsoft pourrait ouvrir la voie à une plus grande interaction entre les services Windows et le système d'exploitation Linux. En substance, ces travaux montrent que chez Microsoft, on comprend que presque plus de clients préfèrent vivre dans un monde où l'on trouve Windows partout.
Il est beaucoup plus judicieux d'utiliser des technologies et des systèmes hétérogènes qui répondent au mieux aux exigences commerciales et aux situations pratiques spécifiques.
Une question stratégique plus importante est de savoir quelles nouvelles opportunités stratégiques cela ouvre pour la plateforme Microsoft elle-même ?
Azure, l'écosystème cloud de Microsoft, offre déjà un immense soutien à Linux. Auparavant, Windows supportait bien Linux grâce à des machines virtuelles.
Les changements fondamentaux qui se produisent aujourd'hui sont liés au fait que désormais, les processus Linux s'exécuteront nativement sur le noyau Windows, ce qui signifie que le travail avec Linux depuis Windows sera beaucoup plus rapide qu'avec des machines virtuelles. Il est fort probable qu'à la suite de cela, Azure se voit enrichi d'une nouvelle couche d'ingénieurs utilisant Linux à grande échelle.
Source : habr.com
