Sep 18 2011
Sous le capot de Windows 8 (partie 1)
Windows 8 repose sur les fondations de Windows 7 mais raffine encore l’approche MinWin de Microsoft.
Qu’est-ce que MinWin ?
MinWin est une version allégé du Core OS (noyau) de Windows. MinWin est déjà présent dans Vista SP1 et vise à se débarrasser des dépendances dans le noyau.
MinWin se compose:
- Du noyau Core OS,
- Du HAL (Hardware Abstraction Layer),
- Du système de fichiers et des sous-systèmes réseau.
- Il ne contient pas l’affichage puisque depuis Vista le pilote ecran est rejeté en mode utilisateur (mais toujours lié plus au moins au processus explorer.exe)
Comment développer MinWin ?
Il s’agit pour Microsoft de faire fonctionner un ordinateur avec le minimum. Microsoft vise à rediriger les dépendances vers kernelbase.dll sans faire appel à des composants dit supérieur et applicatif (qui n’ont donc rien à voir avec le noyau proprement dit).
Windows 8 raffine encore cette approche comparé à Windows 7 pour réduire encore le nombre de dépendance et de fichier non « nécessaires ».
Pourquoi MinWin ?
MinWin provient de l’initiative sécurité. Microsoft tend :
– à sécuriser Windows (la brique est plus petite et plus simple à maintenir). Elle offre une surface d’attaque bien plus faible.
– à alléger l’OS et rendre son optimisation plus simple
– à ajouter des fonctionnalités par composant dans une approche par objet dans l’OS (ce qui devrait faciliter l’évolution de l’interface démontré via Metro)
– à proposer plus rapidement de nouvelle version de Windows
– à mutualiser le code pour sortir plusieurs versions de Windows et de s’implanter sur les marchés mobiles et embarqué (le noyau est relativement léger et s’installe partout. La compatibilité ARM de Windows 8 en est une preuve.)
– à mettre en œuvre la rêve de Microsoft « écrire une fois tourner partout ». J’écris mon code sans me soucier de la machine de destination.
A suivre
Sep 21 2011
Sous le capot de Windows 8 (partie 2)
Windows 8 va « peut-être » embarquer des principes de fonctionnement lié à Singularity.
Singularity, c’est quoi au juste ?
Singularity (qu’est qu’une singularité ? lol) est un OS expérimental (chez Microsoft Research) qui part de zéro (en faisant table rase de ce qui forme Windows).
Il est intégralement écrit en code managé (Dans la terminologie Microsoft, managed code est un code qui s’exécute sous la gestion de la machine virtuelle CLR, ou d’une autre machine virtuelle. Ce terme est employé par opposition au unmanaged code (code non géré), qui est exécuté directement par le processeur. WIKIPEDIA). Il s’agit bien ici de faire « tourner » le bas nivaux de Windows sur une machine virtuelle (… Hyper-V)
De plus, Singularity est ecrit en C#. Il est donc plus facile à analyser. C’est aussi un moyen de tester et mettre en œuvre SIPs (software-isolated processes) qui est plus rapide que le schéma de protection hardware habituel.
En gros le fonctionnement de Singularity est le suivant : le code bas niveau des interruptions X86 (nos processeurs actuels) est écrit en C#. Il invoque le noyau lui-même ecrit en dans un dérivé de C# (pour l’exécution et le garbage collector). La couche d’abstraction d’avec le Hardware est écrite en C++ et tourne en mode sans échec (une grande nouveauté). Le pilote sont eux même écrit en dérivé de C#. Le noyau fonctionne sur une couche d’abstraction (comme de la virtualisation ?) et n’invoque jamais le bios ou le matériel directement.
Autre avantage, à côté de cet OS tout neuf il est possible de virtualiser par encapsulation win32 et d’être par la même totalement compatible avec l’architecture « legacy » (veille quoi) de Windows.
Midori est aussi un OS qui pourra se lancer sur plusieurs machines, en réseau ou nativement. Il est totalement compartimenté au niveau le plus intime: noyau et API.
Le couple Singularity / Midori n’est que de la recherche pure (comme le fut NT 1 l’ancêtre de NT 6.x c’est-à-dire Vista et Seven).
MAIS il a embranché vers Helios et Barrelfish (que nous verrons dans Sous le capot de Windows 8 – partie 3) qui constituent des projets plus concret.
MAIS aussi parce Microsoft annonce l’intégration d’Hyper-V client (le système de virtualisation made in Redmond) dans Windows 8 en mode virtualiseur de deuxième niveau.
Est-ce un signe que Windows 8 amorce la voie de l’encapsulage par virtualisation du code Windows –Win32) historique ?
A suivre
By Stanislas Khider • Lifestream S&D, Stanalone • • Tags: agregation, hyper-v, lifestream, midori, RSS, singularity, windows, Windows 8