L'actuel sous-système Windows pour Linux utilise un noyau qui fournit la même API que le noyau Linux, mais est entièrement écrit par Microsoft. De façon brossée, son rôle est de transformer les appels système Linux en appels système Windows NT. Depuis Windows 10 Anniversary Update, ce processus s’appuie sur les pilotes lxcore.sys et lxss.sys implémentés comme des wrappers autour des appels système du noyau NT. Il s’agit donc d’une espèce de couche de compatibilité qui marche bien jusqu’ici, mais exhibe un certain nombre de tares : il n'est pas possible de faire usage des pilotes Linux, en particulier ceux des système de fichiers ; les performances de son système de fichiers superposé au NTFS de Windows sont souvent moins bonnes comparé à un vrai noyau Linux ; il s'appuie sur une API équivalente à la version 4.4 du noyau Linux publiée en 2016 et ce qu'il faut même dire à ce propos c'est que les API sont implémentées de façon partielle, ce, pour répondre aux besoins d'applications spécifiques.
Architecture du WSL version 1
Tout ceci est appelé à changer avec la version 2 du sous-système Windows pour Linux (WSL 2) dont Microsoft a fait mention lors d’une présentation de l’édition 2019 de la conférence Build qui bat son plein. WSL 2 s’appuiera non plus sur une couche de compatibilité, mais sur un « noyau taillé sur mesure pour le sous-système Windows pour Linux » comme l’a précisé un responsable de la firme de Redmond. WSL 2 va exécuter un noyau Linux complet dans une machine virtuelle légère. La taille de ce noyau sera adaptée à ce cas d'utilisation particulier. Microsoft annonce à ce propos que le support matériel sera revu à la baisse. Chez Microsoft, l'on anticipe également sur ceci que ces choix permettront une réactivité maximale de ce noyau qui sera basé sur Linux 4.19 disponible depuis octobre 2018. « Le noyau du WSL sera toujours aligné aux nouvelles versions LTS pour s’assurer qu’il possède les derniers atouts de Linux », écrit Microsoft.
Le noyau Linux est open source sous licence GPL ; la licence GPL exige que toute modification apportée au code soit publiée et rendue disponible sous licence GPL. L'entreprise a annoncé qu'elle se conformera à cette exigence en publiant les correctifs et les modifications apportés au noyau Linux. La version 2 du sous-système Linux utilisera également une répartition similaire à celle du WSL actuel : le noyau sera livré avec Windows tandis que les différentes distributions Linux pourront être installées depuis la boutique d'applications en ligne de Microsoft.
En s'appuyant sur le noyau Linux lui-même, Microsoft obtient toutes les fonctionnalités du système d'exploitation open source gratuitement. C'est pourquoi WSL 2 prendra en charge les conteneurs Docker : toute l'infrastructure sous-jacente comme les cgroups se trouve déjà dans le noyau Linux et Microsoft n'aura pas besoin de procéder à une nouvelle implémentation de ces fonctionnalités. Le noyau du WSL 2 sera entretenu et mis à jour au travers de Windows Update.
Grosso modo, avec l’intégration d’un noyau Linux à Windows, on anticipe sur des améliorations significatives des performances en ce qui concerne des tâches courantes : extraction d’archives compressées, clonage de dépôts Git, etc.
Depuis sa sortie, le Windows Subsystem for Linux n’a pas manqué de susciter l’intérêt des développeurs et cette nouvelle version est sujette à des questionnements sur certains détails. En effet, Microsoft a annoncé que WSL 2 va s’appuyer sur Hyper-V pour la virtualisation de l’espace d’adressage. Il vient donc la question de savoir si les cas de virtualisation imbriquée ne poseront pas de problème ; ça pourrait par exemple coincer avec une tentative d’exécution du WSL 2 sur Windows 10, l’OS lui-même étant exécuté au sein d’une machine virtuelle. Toutefois, l’une des issues serait de faire usage d’un hyperviseur compatible avec Hyper-V comme QEMU ou VirtualBox.
Les utilisateurs de Windows 10 devraient profiter de l’intégration de ce noyau Linux à l’occasion de la sortie de la mise à jour de nom de code 19H2. « C'est la première fois que le noyau Linux sera inclus en tant que composant dans Windows », précise Microsoft. D’ici là, Microsoft devrait, via d’autres notes d’informations, apporter réponse aux interrogations latentes comme, par exemple, la possibilité de conserver WSL 1 sur son système.
Source : Microsoft
Et vous ?
Qu’en pensez-vous ?
S’agit-il d’une première qui pourrait ensuite mener à la sortie d'un Windows basé sur le noyau Linux ?
Voir aussi :
La MàJ WSL dans Windows 10 build 1903 vous donne accès aux fichiers Linux depuis Windows, les outils en ligne de commande sont également améliorés
Windows 10 : le sous-système Linux (WSL) quitte la phase bêta, la fonctionnalité sera entièrement supportée dans Windows 10 Fall Creators Update
Microsoft parle des évolutions du sous-système Linux WSL qui vont accompagner la MàJ Creators Fall Update attendue le 17 octobre
Microsoft améliore le sous-système Linux de Windows 10 pour couvrir la majorité des scénarios auxquels font face les développeurs chaque jour
Microsoft rend un échantillon du sous-système Windows pour Linux open source à l'intention des mainteneurs de distributions