Windows 8

Sous le capot de Windows 8 (partie 3)

Microsoft et l’ETH de Zurich travaillent conjointement sur un projet d’OS massivement distribué et versatile.
Ce projet va bien au-delà de l’approche par composant MinWin de Windows 8.
Il s’agit d’un travail totalement expérimental et très avancé (sans égale, à ma connaissance, dans le monde du libre).

C’est OS n’a rien à avoir avec Singularity et son embranchement Midori.

Barrelfish est un système multi noyaux par nœuds. Un nœud est une unité de calcul au sens large. Cette unité peut être 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 être 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 conclure sur Sous le capot de Windows 8, je crois vraiment que Microsoft tient une avance considérable sur Apple en matière technologique. L’approche par composant de Windows 8 – MinWin permet de proposer l’interface Metro.

La question qui se pose désormais est de savoir si l’approche Desktop/Metro sur les tablettes peut renverser le paradigme du marché tablette (ou l’iPad est hégémonique) ?
Personnellement, je le crois !

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

 

 

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

Les futures tablet Windows 8 par Samsung

Samsung vient de montre pour l’IFA une tablette sous Windows 7 qui préfigure ce que pourrait etre le future des tablettes sous Windows 8.

Samsung Series 7 Slate Highlights: Intel Core i5-2467M processor, 4GB of RAM, 64 or 128GB SSD, 2MP / 3MP cameras, 11.6-inch (1366×768) gorilla glass / wacom touch display.

Sur les specifications techniques, c’est du lourd !


Windows 8 ne sera pas la rupture attendue

Cette semaine est sortie une très instructive vidéo de Microsoft montrant les « coulisses » du développement de Windows 8 attendu d’ici à 2 ans environ :


Intéressante car Microsoft se targue d’une rupture complète de son interface avec le Windows actuel (lui-même hérité de Windows 95 il y 17 ans !) pour glisser vers une interface « en tuiles » identique à celle de Windows Mobile 7 et du Zune.

Je trouve cette mise en forme vraiment différente de celles de iOS et Android (sans compter WebOS et QNX) avec leurs grosses icônes permettant d’accéder à une application. Ici on a un mélange  de fenêtres actives sous forme de widgets, d’accès à des infos sociales ou personnelles… Bref je ne pense que du bien de tout cela. Et Windows 8 serait superbe sur une tablette.

Le poids de « l’héritage » Windows

La question est : comment faire migrer les utilisateurs de Windows XP/Vista/7 vers cette version radicalement différente ? Apple a actuellement exactement le même problème et a choisi de faire subtilement converger iOS et OS X par petites touches (mode fenêtré identique, gestion du touch, démarrage instantané, sauvegarde automatique…). Mais surtout, Apple a osé plusieurs fois remettre à zéro certains principes qu’il avait lui-même mis en place, pour faire drastiquement évoluer les intéractions.

Dans le cas de Windows, c’est différent car Microsoft est paradoxalement prisonnier de son hégémonie : comment faire une rupture sans larguer une part des 90% de sa part de marché, et donc mettre en danger sa vache à lait ? C’est le paradoxe du leader. Car, outre les utilisateurs, c’est surtout l’écosystème et les éditeurs de logiciels qui risquent de ne plus y retrouver leurs petits, sans oublier les entreprises utilisatrices de ces outils.

Il faut donc tout repenser… sans tout mettre à terre. Une solution serait de faire comme a fait Apple : paralléliser les systèmes d’exploitation, les laisser se développer et murir chacun de leur côté (l’un sur iPhone et iPad, l’autre sur Mac), puis faire converger le tout.

Microsoft a tout a perdre à jouer la rupture

Dans le cas de Microsoft, le temps joue contre eux :

– les tablettes se frayent un chemin et commencent à cannibaliser les ventes de PC.

– MS n’a pas cru aux tablettes, ou plutôt y a cru mais n’a pas su développer un nouveau paradigme (comme Apple avec iOS ou Palm en son temps), préférant simplifier l’existant (Windows CE) et a donc pris un retard effrayant.

– les services en ligne dématérialisent les logiciels, le choix d’une plateforme n’est plus le point central : on ne choisit plus Mac ou PC, mais plutôt ce qui nous parait simple à utiliser.

Donc développer deux systèmes en parallèle et devoir faire migrer (et surtout évangéliser) toute la cohorte de développeurs est trop difficile : c’est la force d’Apple qui, n’ayant que 8% du marché en informatique, s’est trouvé dans la situation confortable de gagner de nouveaux développeurs « vierges ». C’est l’inverse pour Microsoft, qui a d’ailleurs le plus grand mal a faire développer sur sa plate-forme Windows 7 Mobile.

Conclusion : regardez bien la vidéo ci-dessus à 3:05. Rien ne vous choque ? Alors que toute la presse s’extasie devant ce nouveau Windows que le marketing de MS arrive si bien à nous vendre, en fait ce nouveau Windows est identique à l’ancien. Windows 8 est une surcouche d’interface à Windows 7, qu’il remplacera certainement à terme, mais dans le fond on retrouve toujours le navigateur de fichier, le menu démarrer, la barre de tâches, et Excel absolument pas optimisé pour le tactile.

Cette interface Windows 8 est en fait comme la surcouche Média Center de Windows : elle prend le contrôle, mais en dessous les fondations restent identiques. Pour le moment.

Je crains donc que ce Windows 8 soit toujours lourd, non optimisé, trainant avec lui une bonne part de l’héritage des Windows précédent, et n’arrivant que partiellement à changer la donne surtout si Windows Mobile 7 n’arrive pas à percer plus que cela.

Dommage, car cette fois-ci MS prenait un vrai risque de différentiation.