Microsoft a annoncé le développement open source du sous-système Windows pour Linux (WSL), qui permet aux applications Linux de fonctionner sur Windows. Il est à noter que désormais, n’importe qui peut créer WSL à partir du code source et participer au développement. Entre autres choses, Microsoft a commencé à accepter les correctifs et les nouvelles fonctionnalités des membres de la communauté dans WSL. Le code est publié sous la licence MIT. Pour les développeurs souhaitant participer au projet, le site wsl.dev a été lancé.
WSL fournit une machine virtuelle avec un noyau Linux complet (basé sur la branche 6.6) capable d'exécuter des distributions Linux. Le noyau inclut des modifications spécifiques à WSL, telles que des optimisations pour réduire le temps de démarrage et la consommation de mémoire, la possibilité de récupérer la mémoire libérée par les processus Linux de Windows et des ajustements pour éliminer les pilotes et sous-systèmes inutiles. Le système est installé dans une image disque séparée (VHD) avec un système de fichiers ext4 et une carte réseau virtuelle.
Les composants WSL liés au noyau Linux et la pile graphique wslg utilisée pour exécuter les applications GUI basées sur Wayland et X11 ont été développés de manière open source dès le départ, mais tous les outils qui les accompagnent sont restés propriétaires. Désormais, les composants suivants ont été transférés vers la liste ouverte :
- Les utilitaires de ligne de commande wsl.exe, wslconfig.exe et wslg.exe permettent d'interagir avec WSL.
- Le service wslservice.exe est utilisé pour démarrer une machine virtuelle, activer l'environnement Linux et monter des systèmes de fichiers.
- Processus d'arrière-plan lancés dans l'environnement Linux pour accéder aux fonctionnalités WSL. Par exemple, le processus init pour l'initialisation, gns pour la configuration de l'accès au réseau, localhost pour la redirection de port.
- Processus Plan9 avec mise en œuvre serveur Plan9, utilisé dans WSL pour partager des fichiers Linux depuis Windows.

Restent une partie de Windows et ne sont pas actuellement ouverts :
- Le pilote du noyau Lxcore.sys utilisé pour exécuter les exécutables ELF via la couche de compatibilité.
- Le pilote P9rdr.sys et la bibliothèque p9np.dll permettent de rediriger l'accès au système de fichiers « \\wsl.localhost » lors de l'accès à Linux depuis Windows.
Dans le même temps, Microsoft a ouvert le code source de l'éditeur de texte de la console Edit sous licence MIT, écrit en langage Rust et destiné à être livré par défaut dans les versions 64 bits de Windows. Dans les mois à venir, l'éditeur sera proposé pour examen et test dans les versions du programme Windows Insider, après quoi il sera inclus dans la livraison standard de Windows 11.
L'éditeur a tenté d'implémenter une interface moderne avec des contrôles dans le style de VS Code. L'objectif déclaré est de fournir une interface claire et facile à utiliser, même pour ceux qui n'ont aucune expérience de travail dans le terminal. L'éditeur est compact et n'occupe que 250 Ko sur le disque. Les fonctionnalités suivantes sont mentionnées : un système de menu, des raccourcis clavier ou un contrôle de la souris, la prise en charge des onglets et le travail simultané avec plusieurs fichiers, les opérations de recherche et de remplacement et le mode d'habillage automatique du texte.

De plus, la mise à jour Windows de mai a corrigé un bug qui empêchait certains systèmes Linux de démarrer dans des configurations à double démarrage où Windows et Linux sont utilisés sur le même ordinateur. Le problème est apparu en août de l'année dernière et n'a été résolu que maintenant (auparavant, le correctif nécessitait la suppression manuelle des données SBAT installées dans UEFI). L'essentiel du bug est que Microsoft voulait bloquer la possibilité de contourner le mode Secure Boot en utilisant des versions vulnérables de GRUB sur des ordinateurs qui n'utilisent que Windows, mais n'a pas pris en compte les nuances. Le changement a finalement entraîné un processus de démarrage interrompu pour les utilisateurs à double démarrage exécutant des distributions Linux avec des paramètres SBAT non corrigés et un chargeur de démarrage GRUB.
Source: opennet.ru
