Windows Subsystem for Linux est une couche de compatibilité qui permet d’exécuter des programmes natifs de Linux directement à partir de l’interface en lignes de commande de Windows. Plus spécifiquement, WSL permet d’exécuter des fichiers binaires de Linux 64 bits respectant le standard « Executable and Linkable Format » (ELF).
Le sous-système Windows pour Linux est disponible à partir de Windows 10. Pourtant, l’objectif de Microsoft, à savoir faciliter le travail des utilisateurs Windows avec les outils Linux depuis leur environnement habituel, va encore plus loin. Ainsi, WSL est issu du projet « Microsoft Services for UNIX » (SFU / Interix), qui était lui-même une évolution de « POSIX Subsystem », déjà intégré à Windows NT. Avec Windows Subsystem for Linux 2 (WSL2), ce développement poursuit son évolution.
Avant la sortie de WSL, les utilisateurs devaient effectuer un travail un peu plus conséquent pour réunir le meilleur des univers Windows et Linux. En principe, deux méthodes s’offraient à eux pour rendre les logiciels Linux exécutables sous Windows :
- Utilisation d’une machine virtuelle : dans ce cas, on procédait à l’installation complète de Linux en tant qu’ordinateur virtuel sous Windows. L’approche est très accessible pour l’utilisateur et permet l’utilisation complète des applications Linux souhaitées, mais présuppose d’avoir de bonnes ressources matérielles. De plus, l’échange entre les programmes en cours d’exécution des deux systèmes d’exploitation est limité.
- Utiliser l’environnement d’exécution Linux Cygwin : celui-ci doit être installé sous Windows et permet d’exécuter un grand nombre des logiciels Linux les plus appréciés. Avec Cygwin, l’échange entre les programmes en cours d’exécution de Windows et de Linux est limité.
Par ailleurs, les utilisateurs pouvaient installer Linux en parallèle d’une installation Windows existante. Cette installation baptisée dual boot exige cependant de redémarrer l’ordinateur pour passer d’un système d’exploitation à l’autre. Il est donc impossible d’échanger des informations entre les programmes en cours d’exécution de Windows et de Linux.
Windows Subsystem for Linux fonctionne sans machine virtuelle, ce qui le rend performant. Cependant, il n’embarque pas de noyau Linux complet et ne prend donc pas toutes les applications en charge. Plus spécifiquement, WSL seul ne permet pas l’exécution de programmes Linux avec une interface utilisateur graphique (GUI). Pour ce type d’utilisation, là encore, il existe des applications, qui nécessitent toutefois quelques étapes supplémentaires d’installation et de configuration.