Arrêt et démarrage rapide sous Windows 8 et 8.1

Transcription

Arrêt et démarrage rapide sous Windows 8 et 8.1
Arrêt et démarrage rapide sous Windows 8 et 8.1
Une contribution de Herser faite sur le newsgroup ponx.fr Informatique http://ponx.org/win7/
Pour le 8.0, un "arrêt" ce n’est pas un arrêt ... c'est une veille prolongé pour le système, sans
la session utilisateur. C'est curieux comme démarche.
Ce n'est pas curieux comme démarche, il y a une bonne raison à cela : démarrage plus
rapide
Comme je le dis dans ailleurs, c'est "by design" et le lien Technet suivant en donne la raison :
https://blogs.technet.com/b/windowsfr/archive/2013/01/03/windows-8-le-d-233-marrage-hybride.aspx
Quand on arrête Windows 8 (et Windows 8.1 qui ne change rien à ce niveau), un fichier
hiberfil.sys contenant les pilotes du noyau Windows est sauvegardé et réutilisé au
démarrage permettant d'outrepasser cette phase du démarrage.
Un autre article, signé Steven Sinofsky (donné ici en phase de bêta test de W8), ex patron de
Windows 8, bien traduit en fr, précise ce qui se passe :
http://blogs.msdn.com/b/b8_fr/archive/2011/09/14/rapidit-233-du-temps-de-d-233-marragedans-windows-160-8.aspx
Je cite la partie intéressante :
---------------------------------- copie -----------------------------L'arrêt implique les étapes suivantes :
1. L'utilisateur initie un arrêt en sélectionnant « Arrêter » dans le menu Démarrer ou en
appuyant sur le bouton d'alimentation. Une application peut également initier un arrêt
en appelant une API, telle que ExitWindowsEx() ou InitiateShutdown().
2. Windows diffuse les messages aux applications en cours d'exécution, ce qui leur donne
une chance d'enregistrer les données et les paramètres. Les applications peuvent
également demander un peu plus de temps pour terminer leurs opérations en cours.
3. Windows ferme les sessions utilisateur pour chaque utilisateur connecté.
4. Windows envoie des messages aux services pour les informer qu'un arrêt a commencé,
puis il les arrête. Il arrête les services ordonnés qui ont une dépendance séquentielle,
et le reste en parallèle. Si un service ne répond pas, son arrêt est forcé.
5. Windows diffuse les messages aux périphériques, en leur demandant d'arrêter.
6. Windows ferme la session système (connue également sous le nom de « session 0 »).
7. Windows purge les données en attente sur le lecteur système pour s'assurer qu'elles
sont entièrement enregistrées.
8. Windows envoie un signal via l'interface ACPI au système pour fermer le PC.
Et le démarrage implique les étapes suivantes :
1. Après avoir appuyé sur le bouton d'alimentation, le microprogramme du PC initie un
autotest de mise sous tension (POST) et charge les paramètres du microprogramme.
Ce processus préalable au démarrage se termine lorsqu'un disque système valide est
détecté.
2. Le microprogramme lit l'enregistrement de démarrage principal (MBR) et démarre
Bootmgr.exe. Bootmgr.exe recherche et démarre le chargeur de Windows
(Winload.exe) sur la partition de démarrage de Windows.
3. Les pilotes essentiels requis pour démarrer le noyau Windows sont chargés et le
noyau commence à s'exécuter, chargeant en mémoire la ruche du Registre système et
les pilotes supplémentaires marqués comme BOOT_START.
4. Le noyau transmet le contrôle au processus du gestionnaire de session (Smss.exe) qui
initialise la session système, puis charge et démarre les périphériques et pilotes non
marqués comme BOOT_START.
5. Winlogon.exe démarre, l'écran d'ouverture de session utilisateur apparaît, le
gestionnaire de contrôle des services démarre les services et les scripts Stratégie de
groupe sont exécutés. Lorsque l'utilisateur se connecte, Windows crée une session
pour cet utilisateur.
6. Explorer.exe démarre, le système crée le processus Gestionnaire de fenêtrage (DWM)
qui initialise le Bureau et l'affiche.
Le point important à ne pas oublier, c'est que dans un arrêt traditionnel, nous fermons toutes
les sessions utilisateur et dans la session de noyau, nous fermons les services et périphériques
pour préparer un arrêt complet.
Voici maintenant la principale différence pour Windows 8 : comme dans Windows 7, nous
fermons les sessions utilisateur, mais au lieu de fermer la session de noyau, nous la mettons
en veille prolongée. Par rapport à une veille prolongée complète, qui comprend un grand
nombre de pages mémoire utilisées par les applications, les données de veille prolongée de la
session 0 sont beaucoup plus limitées et leur écriture sur le disque prend beaucoup moins de
temps. Si vous ne connaissez pas bien le mode de veille prolongée, nous enregistrons
réellement l'état du système et le contenu de la mémoire sur un fichier du disque (hiberfil.sys),
puis nous le relisons en cas de reprise et et restaurons le contenu en mémoire. L'utilisation
de cette technique lors du démarrage nous donne un avantage significatif en termes de temps
de démarrage, car la lecture du fichier hiberfil.sys et la réinitialisation des pilotes sont
beaucoup plus rapides sur la plupart des systèmes (30 à 70 % plus rapides sur la plupart des
systèmes que nous avons testés).
---------------------------------- copie -----------------------------(C'est moi qui souligne)
Ce qui me fait dire souvent que, effectivement, Windows 8 démarre plus vite, mais en
trichant, puisqu'il met en partie le PC en état de veille hybride.
Reconnaissons quand même un réel progrès lors du redémarrage : l'utilisation du multicore
pour les processeurs qui en bénéficie :
---------------------------------- copie -----------------------------"Mais la rapidité s'explique également par le fait que nous avons ajouté une nouvelle fonction
de reprise à plusieurs phases qui est capable d'utiliser tous les cœurs d'un système multicœur
en parallèle et de diviser le travail de lecture du fichier hiberfil.sys et de décompression du
contenu. Pour ceux d'entre vous qui préfèrent la veille prolongée, cette technique permet
également d'obtenir une reprise plus rapide après la veille prolongée."
---------------------------------- copie -----------------------------Et si on veut faire de la place sur le disque en supprimant hiberfil.sys par un "powercfg /h
off", on ne bénéficie plus du démarrage rapide.
Je rappelle aussi que lors des mises à jour de Windows, le système a besoin d'un arrêt complet
pour modifier éventuellement les pilotes noyau de Windows. Ce qui passe par un redémarrage
qui est un démarrage complet.
Bref, plus de bouton démarrer pour arrêter, mais arrêter signifie veille hybride partielle et
redémarrer signifie arrêt complet.
C'est clair !
Herser

Documents pareils