Microsoft : l'évolution de la virtualisation et du noyau Windows (màj)

MinWin était bien un premier pas 260
Vincent Hermann
Mise à jour : Jérôme Bosch (alias Charon), qui a créé le site Ma-Config.com, a publié un billet technique sur le sujet de la virtualisation et Windows 8. Ceux qui souhaitent un complément d'informations peuvent donc se rendre sur son blog.



Ces derniers temps, quelques informations sont apparues au sujet de Windows 8. Elles sont encore à prendre avec des pincettes car elles n’ont pas été confirmées par Microsoft, même si les documents dont elles sont issues semblent crédibles. Cependant, le directeur technique et sécurité de Microsoft France, Bernard Ourghanlian, avait accordé une interview sur le sujet de la virtualisation à ITRmanager.com, et l’on avait pu y apprendre de nombreux renseignements, dont certains très importants. Un peu plus d'un an plus tard, cette interview résonne d'un écho nouveau au vu des rumeurs qui circulent en ce moment autour de Windows 8.

bernard ourghanlian Il faut savoir que la virtualisation va jouer un rôle prépondérant pour la firme dans les prochaines années. Telle qu'on la connaît actuellement, elle prend surtout un rôle sur les serveurs, dans le cadre de la consolidation des infrastructures. Elle permet en effet de rentabiliser rapidement la puissance parfois énorme offerte par les serveurs d’aujourd’hui, en leur confiant des machines virtuelles. Mais cette manière de faire, sans disparaître, risque de fortement évoluer.

On s’avance donc vers la virtualisation des applications, qui se mélangera à celle des serveurs. Virtualiser une application, c’est la servir sur un plateau d’argent à la machine qui en a besoin. Lorsqu’on mélange le tout, on obtient la capacité d’exécuter n’importe quelle application et le système d’exploitation nécessaire.

Ourghanlian explique ainsi : « Alors tout le reste cela veut dire quoi ? Cela veut dire des images systèmes ; donc si j'ai par exemple Windows 8, je peux imaginer héberger des images systèmes de Windows 7, de Vista, de Windows XP, voire même de Linux. Tout ça dans un contexte où, de manière virtualisée, j'ai ces différentes images systèmes mais en fait, l'idée c'est de coupler les deux types de virtualisation que sont la virtualisation système et la virtualisation applicative pour faire en sorte que les applications, dans le cas où elles ne sont compatibles qu'avec une version antérieure du système d'exploitation, mais pas avec la version courante, je puisse les streamer comme App-V le permet, sur la machine virtuelle qui est capable de les supporter. »

Côté utilisateur, il n’y aurait donc qu’un bureau avec des icônes, mais il ne pourrait pas dire quelles applications sont natives et quelles sont celles qui sont virtualisées.

Mais ce qui est important, c’est que les travaux menés sur la virtualisation en entrainent d’autres sur le système. Ainsi, l’éditeur a finalisé la version 2 d’Hyper-V intégrée dans Windows Server 2008 R2. Mais la société travaille déjà sur la version 3 qui ira beaucoup plus loin et qui supportera la virtualisation des postes de travail. Mais Hyper-V 3 a besoin pour fonctionner d’un noyau particulier sur lequel un très gros travail aura été fait :

« Avec Hyper-V V3, l'objectif est de supporter les postes de travail ce qui implique qu'ils reposent sur un noyau de Windows qui soit un noyau totalement dégraissé. On a démarré il y déjà maintenant à peu près 3 ans un projet extrêmement long et complexe, un projet qui s'appelle MinWin, dont l'objectif est de permettre de « modulariser » complètement le noyau de Windows. Ce projet a démarré avec Vista, il continue avec Windows 7. L'achèvement de MinWin c'est la possibilité de faire deux choses fondamentales : pouvoir débrayer complètement Internet Explorer et pouvoir complètement débrayer le Shell, qui sont des choses qui ne sont pas encore faisables parce que ces deux éléments sont encore trop imbriqués dans le noyau de Windows. L'objectif fixé avec MinWin, quand il arrivera avec Windows 8 si tout se passe bien, c'est de pouvoir complètement débrayer ces fonctionnalités c'est-à-dire faire en sorte que potentiellement ils ne soient pas présents du tout. A ce moment là, cela permettra d'avoir, pour le poste de travail, l'équivalent d'un Windows Server Core ... dans le cas de Hyper-V V3 sur le poste de travail qu'il soit le plus petit possible, aussi bien en termes de surface d'attaque potentielle, qu'en termes d'encombrement mémoire et d'encombrement disque. »

Mais les explications suivantes témoignent de la difficulté que rencontrent actuellement les ingénieurs de Microsoft :

« C'est un travail qui est assez colossal, puisque cela nécessite de complètement dénouer l'espèce de « plat de nouilles » qui est aujourd'hui présent dans le noyau Windows pour des raisons historiques, notamment liées à la version d'Internet Explorer dans Windows.
 
D'une manière générale, on a aujourd'hui au sein du noyau de Windows ce qu'on appelle des dépendances cycliques, c'est-à-dire qu'on a la couche N qui dépend de la couche N-1, ce qui est normal mais qui dépend à son tour de la couche N+1, et ça ce n'est plus du tout normal. Résultat, on a besoin de trancher ce nœud gordien pour essayer de faire en sorte que les dépendances de Windows soient correctement définies avec des interfaces également correctement définies, correctement documentées, de façon qu'on puisse n'installer que les éléments dont on a besoin et pas autre chose. Aujourd'hui c'est extraordinairement complexe de faire cela. C'est la raison pour laquelle Windows Core représente certes un progrès mais qui n'est pas encore tout à fait là où l'on veut aller
. »

Pour rappel, Windows Core est le nom donné à l’édition minimaliste de Windows Server 2008 qui permettait de n'installer qu’un système de base dépourvu d’interface graphique ou presque.

Ce qu’il est important de noter, c’est que la transformation du noyau est un acte primordial pour les futurs Windows, mais que Windows 8 lui-même pourrait mettre en avant des nouveautés techniques particulièrement sensibles. Bernard Ourghanlian le dit lui-même, le prochain Windows devrait profiter de ce gros travail fait sur le noyau, mais il permettrait dans l’absolu d’introduire de nouveaux concepts de virtualisation intégrée. Il est encore trop tôt pour se focaliser sur cette idée, mais cela serait une manière pour le géant de ne plus être bloqué par les anciennes versions de son système, puisque la virtualisation serait justement là pour ça.