Microsoft révèle le fonctionnement de son sous-système Windows 10 Linux

le Bash sur Ubuntu sous Windows permet aux binaires Linux ELF64 natifs de s'exécuter sur Windows via le sous-système Windows pour Linux (WSL). Bien que de nombreuses personnes aient été choquées par l'annonce de Bash sur Ubuntu, il convient de mentionner qu'elle ouvre de nouvelles portes pour la compatibilité entre les différents systèmes d'exploitation. Microsoft fait un pas de plus et révèle le fonctionnement de son WSL afin que nous puissions mieux comprendre comment les deux systèmes communiquent entre eux.

WSL a été créé par l'équipe Microsoft Windows Kernel et contient à la fois des composants en mode utilisateur et en mode noyau. Plus précisément, le système est composé de :

  • un service de gestion de session en mode utilisateur gérant le cycle de vie de l'instance Linux
  • Pilotes du fournisseur Pico (lxss.sys, lxcore.sys) dont le rôle est d'émuler un noyau Linux en traduisant les appels système Linux
  • Processus Pico hébergeant le mode utilisateur non modifié Linux (par exemple /bin/bash).

La connexion entre les trois composants est décrite comme suit :

C'est l'espace entre les binaires Linux en mode utilisateur et les composants du noyau Windows où la magie opère. En plaçant des binaires Linux non modifiés dans les processus Pico, nous permettons aux appels système Linux d'être dirigés vers le noyau Windows. Les pilotes lxss.sys et lxcore.sys traduisent les appels système Linux en API NT et émulent le noyau Linux.

Le principal défi du processus est de faire fonctionner les deux systèmes ensemble :

WSL exécute des binaires Linux ELF64 non modifiés en virtualisant une interface de noyau Linux au-dessus du noyau Windows NT. L'une des interfaces du noyau qu'il expose sont les appels système (appels système). Un syscall est un service fourni par le noyau qui peut être appelé depuis le mode utilisateur. Le noyau Linux et le noyau Windows NT exposent plusieurs centaines d'appels système au mode utilisateur, mais ils ont une sémantique différente et ne sont généralement pas directement compatibles. Par exemple, le noyau Linux inclut des éléments tels que fork, open et kill, tandis que le noyau Windows NT a le NtCreateProcess, NtOpenFile et NtTerminateProcess comparables.

Le sous-système Windows pour Linux comprend des pilotes en mode noyau (lxss.sys et lxcore.sys) qui sont chargés de gérer les demandes d'appel système Linux en coordination avec le noyau Windows NT. Les pilotes ne contiennent pas de code du noyau Linux, mais sont plutôt une implémentation en salle blanche d'interfaces de noyau compatibles Linux. Sur Linux natif, lorsqu'un appel système est effectué à partir d'un exécutable en mode utilisateur, il est géré par le noyau Linux. Sur WSL, lorsqu'un appel système est effectué à partir du même exécutable, le noyau Windows NT transmet la demande à lxcore.sys. Dans la mesure du possible, lxcore.sys traduit l'appel système Linux en l'appel Windows NT équivalent qui à son tour fait le gros du travail.

Compte tenu de l'intérêt de Microsoft pour les plateformes open source, de nombreuses personnes se sont demandé si le géant de la technologie devrait acquérir de grandes sociétés axées sur Linux telles que Canonical, la société derrière le système d'exploitation Ubuntu. Bien que Microsoft et Canonical aient coopéré sur des logiciels open source, aucun des deux n'a émis de commentaires sur cette possibilité.

Si vous êtes intéressé par l'évolution de l'interaction Linux – Windows, aller sur le blog de Microsoft. L'équipe a promis que d'autres articles de blog sur ce sujet suivraient.

HISTOIRES CONNEXES QUE VOUS DEVEZ VÉRIFIER :

  • Les utilisateurs de Linux signalent des problèmes « les écouteurs ont cessé de fonctionner sous Windows 8.1 »
  • Microsoft et Canonical apportent Bash à Windows 10 lors de la Build 2016
  • Munich commence à distribuer des CD Ubuntu gratuits aux utilisateurs de Windows XP
Microsoft révèle le fonctionnement de son sous-système Windows 10 Linux

Microsoft révèle le fonctionnement de son sous-système Windows 10 LinuxSous Système Windows Linux

le Bash sur Ubuntu sous Windows permet aux binaires Linux ELF64 natifs de s'exécuter sur Windows via le sous-système Windows pour Linux (WSL). Bien que de nombreuses personnes aient été choquées pa...

Lire la suite
Comment accéder aux fichiers dans le sous-système Windows pour Linux

Comment accéder aux fichiers dans le sous-système Windows pour LinuxWindows 10Sous Système Windows LinuxFrapper

Pour résoudre divers problèmes de PC, nous recommandons DriverFix :Ce logiciel maintiendra vos pilotes opérationnels, vous protégeant ainsi des erreurs informatiques courantes et des pannes matérie...

Lire la suite
Microsoft apporte de nombreuses améliorations à Bash sur Ubuntu dans Windows 10

Microsoft apporte de nombreuses améliorations à Bash sur Ubuntu dans Windows 10Windows 10Sous Système Windows Linux

Microsoft a apporté de nombreuses améliorations à Windows 10 Preview avec la dernière version 14361. Une fonctionnalité qui a probablement reçu le plus grand nombre de modifications est Bash sur Ub...

Lire la suite