Windows 7 : Microsoft veut réduire le temps de démarrage

Allumer, boire un café, prendre une douche, utiliser 184
Windows SevenAprès un billet consacré aux performances de Windows, les développeurs de Microsoft sont de retour avec un chapitre consacré au démarrage de Windows, l’un des points sensibles justement dans la perception des performances d’une machine.

Le temps de démarrage, que l’on appelle souvent « boot », est le temps nécessaire depuis l’allumage de la machine jusqu’au moment où l’utilisateur a réellement la main pour commencer à se servir de son ordinateur. Pour Michael Fortin, qui prend la parole dans le blog « Engineering Windows 7 », le boot recouvre également deux autres « périodes » :
  1. Le temps de récupération depuis une mise en veille
  2. Le temps de récupération depuis une hibernation (Mise en veille prolongée, le contenu de la mémoire vive est copié sur le disque dur, et l’ordinateur s’éteint)
Les trois variables sont comptabilisées, d’autant plus que Microsoft tend à diriger les utilisateurs vers les différentes veilles justement, pour éviter que l’ordinateur ne soit éteint complètement, dans le sens où le système d’exploitation doit complètement se réinitialiser. On se tourne davantage vers une utilisation de type ordinateur portable, notamment Mac : on rabat le capot, le système passe en veille.

15 secondes : un très bon temps de démarrage

Un bon temps de reprise pour une sortie de veille est situé entre 2 et 5 secondes. Concernant le temps de démarrage brut, celui que l’on vise généralement en parlant de boot, l’objectif a toujours été de donner la main à l’utilisateur en 30 secondes. Pour Windows 7, les développeurs ont pour objectif de parvenir à un très bon temps de démarrage. Fortin précise qu’en laboratoire, un très bon temps de démarrage ne dépasse pas les 15 secondes.

Évidemment, on se doute aisément que ces 15 secondes correspondent à des conditions idéales. Mais pour Microsoft, cela tient quand même de l’objectif, en particulier quand il faut considérer les points essentiels et inhérents à l’initialisation du système :
  • Les fichiers doivent être lus en mémoire
  • Les services du système ont besoin d’être initialisés
  • Les périphériques doivent être identifiés et démarrés
  • Les paramètres d’identité de l’utilisateur doivent être chargés pour permettre l’authentification
  • Le bureau doit être assemblé et affiché
  • Les applications qui se chargent au démarrage doivent être exécutées
On le voit facilement, la liste introduit une suite conséquente de variables, et on parlera facilement de conditions idéales quand la machine est relativement récente et donc performante, et que le système d’exploitation n’est pas encrassé. Selon les données récupérées par le « Customer Experience Improvement Program » de Vista, 35 % seulement des ordinateurs démarrent en moins de 30 secondes, 75 % démarrant en 50 secondes. Pour l’éditeur, c’est un résultat décevant : « De notre point de vue, trop peu de systèmes démarrent assez rapidement et nous devons faire beaucoup mieux ».

win7

Temps de démarrage trop long : qui est en cause ?

L’attention va donc se porter sur tous les processus qui composent le boot d’une machine, mais Michael Fortin indique que les données recueillies sur les machines qui prennent plus de 60 secondes pour démarrer vont être précieuses, car elles renferment nécessairement des indications importantes. Quand bien même le temps de boot inclurait l’étape de connexion avec le mot de passe, dépasser la minute met en avant plusieurs causes potentielles : la défaillance matérielle, l’exécution de scripts particuliers (notamment en rapport avec le réseau), un trop grand nombre d’applications à charger, etc.

Michael Fortin revient d’ailleurs sur un sujet délicat : celui des configurations par défaut vendues par les constructeurs. On revient ici sur un débat qui fait rage depuis des années sur les applications installées en standard sur les machines grand public et dont l’utilisateur n’a souvent que faire. Ainsi, une machine reçue dans les laboratoires chez Microsoft mettait 45 secondes à démarrer le Vista installé. Un formatage et une réinstallation de Vista ont permis d’abaisser le temps de démarrage à 23 secondes, puis 21 secondes après quelques réglages, notamment après la mise en place de pilotes plus récents.

L'épineux problème des applications « reines »

Si Microsoft promet de travailler dur pour améliorer le temps de démarrage de son système, la société n’en pose pas moins la question de savoir si toutes les applications ont besoin de posséder un module qui se charge en mémoire au lancement du système. Évidemment, chaque éditeur souhaite que son logiciel puisse bénéficier d’une expérience agréable par l’utilisateur. Cela inclut régulièrement un module qui précharge une partie de l’application en mémoire pour que ledit utilisateur soit satisfait de son lancement évidemment plus rapide. Le problème, bien sûr, est que plus on installe ce type d’application sans vérifier les modules de préchargement, plus le démarrage de Windows prend du temps.

Aussi, Microsoft va travailler de son côté à améliorer son propre système, en se focalisant notamment sur les services, pour en réduire la consommation en processeur et en mémoire vive, mais également pour les laisser tranquilles autant que possible (éviter d’y faire appel). D’un autre côté, les outils de développement Windows pour les éditeurs tiers évolueront, et Microsoft espère en termes voilés que beaucoup éviteront de considérer que leur logiciel en particulier constitue l’utilisation principale de la machine. Nous connaissons tous au moins un exemple d’un logiciel qui s’installe avec une véritable prise de pouvoir du système : installation de modules résidents, nombreux raccourcis, récupération des associations de fichiers, module de préchargement au démarrage, etc.

Windows 7 renforcera d’ailleurs le module de diagnostic pour identifier avec plus de précisions tous les éléments qui ralentissent le temps de démarrage. Cela peut être une application, mais également un pilote qui pose problème, un script réseau qui attend la réponse des autres machines ou d’un serveur, ou encore un disque dur qui a un problème matériel.

Le temps de démarrage n’est qu’un des sujets que Steven Sinofski, en charge du développement de Windows 7, souhaitait voir abordés au sujet des performances. Un prochain billet devrait donc suivre très prochainement, le rythme étant assez soutenu.