Oct 13 2009
Au delà de Windows … Singularity ? [DOSSIER WINDOWS Part 7]
De bien vaste plan en perspective MAIS tous plus ou moins issus de Singularity.
Singularity, c’est quoi au juste ?
Singularity (qu’est qu’une singularité ? lol). C’est une forme d’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 ecrit 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, a coté 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 « classique » de Windows. Un coup de génie …. si tout marche !
Midori c’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.
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) (sachant que Midori vient de sortir du stade incubation) MAIS il a embranché vers Helios et Barrelfish
Singularity (qu’est qu’une singularité ? lol). C’est une forme d’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).
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 ecrit 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.
Singularity 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 Midori.
Oct 19 2009
Au delà de Windows … Helos et Barrelfish? [DOSSIER WINDOWS Part 8]
Microsoft et l’ETH de Zurich travaillent conjointement sur un projet d’OS massivement distribué et versatile.
C’est OS n’a rien à avoir avec Singularity et son embranchement Midori.
Barrelfish est un système multi oyaux par nœuds. Un nœud est une unité de calcul au sens large. Cette unité peut etre un core de CPU (donc Barrelfish est vraiment multicore) ou un GPU (le processeur des cartes graphiques et hautement puissant). Barrelfish est capable de fonctionner sur Arm, PowerPC, Intel x86.
D’après ces géniteur, Barrelfish permet d’explorer la structuration d’OS multi et nombreux cœur :
“We are exploring how to structure an OS for future multi- and many-core systems. The motivation is two closely related hardware trends: first, the rapidly growing number of cores, which leads to scalability challenges, and second, the increasing diversity in computer hardware, requiring the OS to manage and exploit heterogeneous hardware resources.”
Microsoft travaille aussi sur Helios qui pourrait etre le point de jonction entre Singularity/Midori et Barelfish.
Helios reprend le concept de Barelfish (dans la séparation des processus sur différent micro-noyaux satellites) . Chaque support (Arm , Intel, Nvidia, ATI, PowerPC, etc …) se voit attribué un micro-noyaux pour former des unités de calcul ayant chacune le propre ordonnanceur et gestion mémoire. Un super noyau central se charge d’orchestrer le macro ordonnancement du traitement des données. Il alloue non plus de simple thread mais de véritable charge à exécuter par les micro-noyaux.
Singularity est présent dans ce projet dans le sens ou chaque micro-noyaux est un noyau singularity (virtualisé .. voir Au delà de Windows … Singularity ? [DOSSIER WINDOWS Part 7]) et le macro-noyau est lui-même un noyau Singularity.
Les noyaux discutent entre eux et avec le macro-noyau par des échanges distants (et donc aussi Internet. Dans cette optique, il ne serait pas étonnant de voir des ordinateurs personnels déléguer des tâches très lourde à des centres de calcul « on demand »)
Pour plus d’information sur Helios, vous pouvez consulter le superbe article de Charon : Helios Project.
Microsoft n’est pas encore prêt de disparaitre du paysage informatique !
By Stanislas Khider • Dossiers, analyses et tests, Techlounge et Geekeries • 0 • Tags: barrelfish, helios, Microsoft, midori, singularity, windows 7