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