[gull] exFAT libere par Microsoft, "bientot" de base dans le noyau

Marc SCHAEFER schaefer at alphanet.ch
Mon Oct 14 11:00:47 CEST 2019


On Sun, Oct 13, 2019 at 05:45:43PM +0200, Frederic Dumas wrote:
> Azure, plutôt que le vrai noyau Linux. Sans aucune incompatibilité, jamais,
> vraiment?

En fait, qui utilise Microsoft Azure ici?  ça serait intéressant de
regarder ce que dit `dmesg' et `uname -a'.

Je fais trois suppositions (basées sur quelques lectures comme p.ex.
https://www.zdnet.com/article/windows-10-is-getting-a-microsoft-built-linux-kernel/)

   a) des containers Microsoft Windows Subsystem for Linux (WSL1)
      *donc sans kernel Linux -- ça a été le cas, c'est peut-être
      moins le cas (à vérifier), c'est le plus proche de la
      virtualisation de type container, mais il y a eu des problèmes
      de performance, voir plus bas

         ça me semble en particulier vraisemblable pour des applet
         spécifiques: style base de données, etc, organisées en lego
         un peu comme les images Docker

   b) des Linux virtualisés comme dans kvm ou VirtualBox, soit
      Microsoft HyperV + kernel Linux: c'est le plus proche de la
      virtualisation classique, moins performant que les containers

         clairement plus approprié si le client veut gérer sa propre
         VM soi-même, faire du Docker dedans, etc

   c) une version modifiée, mais open source, du kernel Linux
      qui tourne sous Microsoft HyperV: ce que Microsoft appelle
      WSL2 -- solution créée pour améliorer la performance de a)
        (notons que tant que Microsoft ne distribue pas ce kernel modifié,
         pas besoin de rendre à l'open-source: on peut supposer que la
         version qui tourne sur Azure n'est pas exactement celle des
         patches open-source que Microsoft a volontairement distribués,
         car le kernel Linux est en GPLv3 et pas A-GPL).

         Apparemment et d'après Microsoft, le meilleur compromis entre
         a) et b): probablement qu'un kernel Linux modifié tourne dans
         HyperV et qu'à l'intérieur des containers lxc ou autre sont
         lancés: Docker avait amorcé de mouvement d'ailleurs.

Donc dire que le kernel Linux a été Extinguished par Microsoft dans
Azure est faux aujourd'hui. Je n'avais pas bien suivi l'évolution
récente vers WSL2.

Sur la difficulté d'émuler une API:
L'API Linux est bien conçue (sur la base de l'API Unix), comporte
relativement peu d'appels systèmes par rapport à Microsoft. Il y a eu
quelques problèmes, principalement de performance car la sémantique
Microsoft est parfois étrange, des problèmes de corruptions de données
lors d'échanges de données entre Microsoft et le Linux containerisé, etc. 
D'où l'idée de WSL2.

Si tu veux en savoir plus, cherche Windows Subsystem for Linux, qui est
une interface de containerization de Linux sous Microsoft: symétriquement cela
serait comme si on tournait des applications Microsoft dans un WINE
dans un container lxc, lxc ou Docker.

La stratégie actuelle de Microsoft (à l'envers du remplacement du kernel
Linux, avec WSL2) montre bien qu'ils ont essayé l'Extinguish (WSL1),
mais que cela n'a pas donné les résultats escomptés (principalement
performance), et donc qu'ils sont revenus en arrière à l'étape
d'Extend (ajouter des fonctionnalités nécessaires à Microsoft Azure et
HyperV au kernel Linux, sous forme propriétaire non distribuée et/ou
sous forme open source).

PS: Microsoft Azure ne tourne pas exactement Microsoft Windows: je suppose
qu'ils ne tournent qu'une couche minimale de l'OS, à la ESXi de VMware
(mais là c'est un kernel Linux modifié).


More information about the gull mailing list