L'ingénieur principal de Microsoft, Raymond Chen, a récemment révélé une fonctionnalité impopulaire dans le mécanisme interne de Windows 95 : ce premier système d'exploitation grand public 32 bits possède une méthode de redémarrage rapide "secrète" intégrée. Les utilisateurs n'ont qu'à maintenir la touche Maj enfoncée lors du redémarrage du système via l'interface graphique, et ils ont la possibilité de revenir au bureau plus rapidement qu'un redémarrage normal. Cette conception a tiré parti de l’architecture système extrêmement complexe de l’année. Tout en améliorant l’efficacité du démarrage, cela provoquait également parfois des pannes du système.

En tant que système d'exploitation devant être compatible avec les logiciels DOS 16 bits, les programmes Windows 3.x 16 bits et les applications Win32 32 bits, Windows 95 a été chargé dès le début de la tâche ardue de compatibilité ascendante. C'est grâce à cette structure en couches que l'équipe de développement a enfoui certaines « optimisations cachées » dans le système, notamment ce mécanisme de redémarrage rapide peu connu.
Selon Chen, cette fonctionnalité repose sur l'indicateur EW_RESARTWINDOWS transmis à la fonction ExitWindows 16 bits, elle-même héritée de Windows 3.1 et documentée dans la documentation officielle de Microsoft de cette année-là. Selon sa description, lorsque l'indicateur est déclenché, le système arrête séquentiellement le noyau Windows 16 bits, arrête le gestionnaire de mémoire virtuelle 32 bits et enfin remet le processeur en mode réel en vue d'un redémarrage ultérieur.
Le mode dit réel est le mode de fonctionnement le plus basique de tous les processeurs compatibles x86 (y compris les processeurs Intel et AMD multicœurs actuels). Les systèmes d'exploitation 32 bits comme Windows 95 font passer le processeur du mode réel au mode protégé pendant le processus de démarrage pour activer la gestion de la mémoire et les mécanismes de sécurité, tandis que les systèmes d'exploitation 64 bits modernes fonctionnent en « mode long » pour tirer parti du jeu d'instructions 64 bits et enregistrer les ressources. La commutation entre ces modes et le maintien de la compatibilité constituent depuis de nombreuses années l’un des principaux défis de la conception de l’architecture x86.
Il convient de mentionner qu'Intel a tenté d'abolir le mode réel 16 bits et certaines autres fonctionnalités de compatibilité ascendante via une architecture de jeu d'instructions réduite appelée x86S, mais les projets associés ont finalement été interrompus. Selon Chen, une fois que la fonction ExitWindows ramène le processeur en mode réel, le contrôle est rendu à l'exécutable win.com, qui redémarre Windows 95 tout en contournant le processus fastidieux d'auto-test matériel d'un démarrage à froid complet, raccourcissant ainsi le temps de démarrage global.
A l'ère du PC où il fallait souvent plusieurs minutes pour accéder à l'interface graphique, ce "redémarrage rapide" risque d'être d'une grande aide dans l'utilisation réelle. L'auteur de l'article a rappelé qu'il avait déjà oublié cette fonctionnalité - après tout, il est passé directement de MS-DOS à Windows ME et XP, et la machine Pentium 4 qu'il utilisait à l'époque était considérée comme une plate-forme "haute performance".
Lorsque l'auteur a essayé de reproduire ce processus dans la machine virtuelle PCem, il a obtenu des résultats incohérents : sous Windows 95 OSR 2.5, cette fonction ne prenait aucun effet, mais dans l'environnement Windows 98 SE, elle se comportait normalement. Cela confirme également les différences de mise en œuvre de ce mécanisme dans différentes versions, ainsi que la complexité et l'incertitude du comportement interne de l'ensemble de la série Win9x.
Chen a en outre expliqué que le programme win.com est écrit en langage assembleur et qu'en plus d'être responsable de la réextraction du système, il effectue également des opérations supplémentaires de gestion de la mémoire. L'objectif est de libérer autant que possible toute la mémoire conventionnelle, en laissant un grand espace mémoire contigu pour charger Windows 95 en mode protégé ; si cette étape échoue, la mémoire conventionnelle restera fragmentée et win.com devra recourir à un processus de redémarrage complet. Ce difficile équilibre de conception entre compatibilité, performances et stabilité est la raison pour laquelle la série Win9x est considérée comme « chaotique mais charmante ».
Articles connexes :
Windows 95 30ème anniversaire : Le système d'exploitation qui a révolutionné le PC
Un vétéran de Microsoft explique pourquoi Windows 95 n'a pas adopté la directive d'économie d'énergie HLT
Un programmeur a révélé que l'équipe de développement de Windows 95 n'était pas en mesure de développer un programme d'installation distinct pour le système d'exploitation en raison de contraintes de temps.
Le développeur parle du processus de réglage complexe du portage de l'interface Windows 95 vers Windows NT