Aprè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 » :
- Le temps de récupération depuis une mise en veille
- 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 ».
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.
source :
