ou INSCRIVEZ-VOUS Mot de passe oublié ?
Publicité

Le démarrage rapide de Windows 8 dévoilé en vidéo

Mélange de boot à froid et d'hibernation

Le sujet du temps de démarrage de Windows a toujours focalisé l’attention sur le terrain des performances. Un billet sur le blog de Windows 8 lui est entièrement consacré, permettant à Microsoft d’introduire les changements mis en place dans le nouveau système d’exploitation.


La vidéo ci-dessus est impressionnante puisqu’elle montre un démarrage Windows 8 avec une batterie enlevée pour preuve qu'il ne s'agit pas d'une sortie de veille. Quelques secondes au total la pression sur le bouton d’alimentation et l’affichage de l’interface, même si celle-ci semble clairement incomplète. Comment arriver à une telle rapidité ? En repensant la séquence de démarrage tout en gardant ce qui avait été amélioré avec Windows 7.

La situation actuelle

Comme toujours, Microsoft a des données intéressantes issues de la télémétrie lorsque les utilisateurs acceptent de participer au programme d'amélioration. Via deux graphiques en camemberts, on apprend ainsi que seule la moitié environ des utilisateurs envoie sa machine en sommeil, l’autre moitié préférant éteindre complètement l’ordinateur. La différence est plus marquée sur les machines fixes (57 %).

win8 win8 

L’extinction est privilégiée pour la certitude que la machine ne consomme plus rien. L’état de sommeil avale en effet quelques watts pour maintenir actif le contenu dans la RAM. L’autre solution est de passer par l’hibernation, qui copie le contenu de la mémoire sur le disque dur et le restaure au redémarrage. Pratique pour restaurer une session en l’état, mais peut prendre du temps. Mais Microsoft semble avoir entendu également une autre raison pour justifier l’extinction complète : l’envie d’ouvrir une nouvelle session « fraîche » débarrassée de tout ce que l’on faisait précédemment.

Voici pour information les éléments de la séquence d’extinction de l’ordinateur :
  1. L’utilisateur enclenche l’extinction
  2. Envoi d’un message général aux applications pour leur permettre de sauvegarder le travail. Elles peuvent demander un petit délai supplémentaire pour terminer un travail actif en cours.
  3. Clôture de toutes les sessions utilisateurs ouvertes
  4. Envoi d’un message aux services pour leur annoncer qu’une extinction est en cours. Les services qui ne répondent pas sont forcés.
  5. Envoi d’un message d’extinction au matériel
  6. Clôture de la session système, aussi appelée « session 0 »
  7. Les données restantes sont enregistrées sur le disque
  8. Envoi d’un message via l’interface ACPI pour ordonner l’arrêt de la machine
Et maintenant la séquence de démarrage d’un ordinateur :
  1. Après pression du bouton d’alimentation, le firmware initialise un Power-On Self Test (POST) et charge les réglages. Cette étape se termine lorsqu’un disque valide est trouvé.
  2. Lecture du Master Boot Recard (MBR) et démarrage de Bootmgr.exe, qui cherche et trouve le Windows loader (Winload.exe) sur la partition Windows.
  3. Les pilotes essentiels sont démarrés, ainsi que le kernel qui va charger à son tour la ruche de la base de registre et les pilotes supplémentaires marqués comme « BOOT_START »
  4. Le kernel passe le relai au gestionnaire de sessions qui initialise la session 0 et charge le reste du matériel et des pilotes
  5. Winlogon.exe démarre, l’écran de sélection des comptes apparaît, le gestionnaire de services démarre ainsi que les scripts Group Policy. Lorsque l’utilisateur s’authentifie, Windows crée la session correspondante.
  6. Explorer.exe démarre, le système crée le processus desktop window manager (DWM) qui initialise le bureau et l’affiche.

Le démarrage hybride

Comment faire donc pour éteindre complètement la machine et en offrant à l’utilisateur une session neuve ? En créant une séquence de boot hybride mélangeant hibernation et démarrage à froid.

Le constat est le suivant : puisque l’utilisateur apprécie une session neuve, il l’aura, mais le reste du système n’est pas concerné. Sous Windows 8, lors du démarrage, tous les composants essentiels de Windows comme le noyau et les pilotes seront restaurés depuis un état hiberné. Le seul démarrage réellement à froid sera celui de la session utilisateur. De fait, la nouvelle extinction passera en hibernation une grande partie du système, et ce comportement sera celui par défaut.

Cela entraîne un nivellement par le bas du temps de démarrage car le système n’a pas à réfléchir à ce qu’il va faire : il lit et initialise simplement le fichier d’hibernation, en profitant des chargements parallèles déjà mis en place dans Windows 7. Globalement, la différence entre les processus se résume par ce schéma :

win8 

Microsoft fournit un graphique comparatif des temps de boot de Windows 7 et 8 sur une trentaine de configurations matérielles :

win8 

Précisions

Le modèle de portable utilisé est un EliteBook 8640p, équipé d'un processeur Core i7-2620M, 8 Go de ram et d'un SSD de 160 Go. La démonstration qui est faite tire donc avantage du SSD comme de la présence d'un UEFI en remplacement du BIOS, mais elle a au moins le mérite de montrer ce que l’on peut obtenir. En outre, Windows 8 n’en est même pas à sa phase bêta et il reste donc beaucoup de travail. Il sera donc particulièrement intéressant de vérifier l’état des lieux avec la bêta et la version finale sur des configurations « classiques ».

Microsoft fournit enfin quelques précisions. Premièrement, on pourra remettre en place le comportement du bouton d’extinction de Windows 7 et donc procéder à un arrêt complet de la machine. Ce mode sera d’ailleurs obligatoire pour les machines dans lesquelles on souhaite changer du matériel, pour réinitialiser une énumération Plug’n’Play totale. Deuxièmement, la fonction Redémarrage agit de manière traditionnelle et recherche donc le système sans hibernation.

L’éditeur termine son billet en indiquant que tout n’a pas encore été révélé au sujet du démarrage et que d’autres précisions viendront. 
Source : Microsoft
le 9 septembre 2011 à 10:33 (37 097 lectures)