Windows 95 et son secret de redémarrage

Si vous avez utilisé d’autres systèmes d’exploitation avant Windows 95, la sensation de nouveauté qu’apportait ce logiciel est inoubliable. Windows 95 a révolutionné notre façon d’interagir avec un PC grâce à des éléments comme le menu Démarrer, la barre des tâches ou Plug and Play. Toutefois, derrière cette interface familière se cachait une architecture complexe, marquée par l’héritage de DOS et des versions de Windows en 16 et 32 bits. Ce design, même s’il manquait d’élégance, était redoutablement efficace, engendrant des comportements surprenants qui intriguent encore aujourd’hui.

Une méthode de redémarrage méconnue

Peu d’utilisateurs savaient qu’il existait une astuce pour redémarrer Windows 95 plus rapidement. En maintenant la touche Shift enfoncée pendant le processus de redémarrage via l’interface graphique, le système affichait l’invitation “Windows se redémarre” au lieu de subir un redémarrage à froid, comme l’explique Raymond Chen. Bien que l’amélioration ne fût pas spectaculaire, elle était notable dans une époque où chaque seconde gagnée comptait.

Le mécanisme en coulisses

Ce changement de comportement repose sur une décision technique bien précise. Chen précise que Windows 95 utilisait un paramètre appelé EW_RESTARTWINDOWS lors de l’appel à l’ancienne fonction ExitWindows en 16 bits. Plutôt que de demander un redémarrage complet du système, cette instruction fermait Windows et le redémarrait. Ce processus visait à gagner du temps, tant que les conditions internes le permettaient.

Après avoir choisi cette méthode, le processus s’effectuait selon une séquence précise : fermeture du noyau de Windows en 16 bits, arrêt du gestionnaire de mémoire virtuelle en 32 bits, puis retour en mode réel. À ce stade, le contrôle revenait à win.com, demandant un redémarrage de Windows en mode protégé sans passer par le redémarrage complet du système.

Les défis du processus

Une fois de retour dans win.com, le programme devait simuler un démarrage propre de Windows. Cela impliquait de réinitialiser les options de ligne de commande et de remettre certaines variables à leurs valeurs par défaut. Étant donné que win.com était écrit en langage d’assemblage, sans abstractions modernes, cette tâche était particulièrement complexe.

La mémoire jouait un rôle crucial. Lorsque win.com était exécuté, il recevait toute la mémoire conventionnelle disponible, mais devait libérer la majeure partie au-delà de son propre code pour que Windows puisse charger un important bloc contigu. Si un programme avait réservé de la mémoire dans cet espace, cela pouvait entraîner une fragmentation, et dans ce cas, win.com était contraint d’abandonner le redémarrage rapide pour opter pour un redémarrage complet.

Les subtilités du redémarrage

Lorsque tout fonctionnait parfaitement, win.com accédait directement au code de démarrage de Windows en mode protégé, recréant le gestionnaire de machines virtuelles et rétablissant les couches de 32 bits. L’interface graphique se chargeait comme d’habitude, permettant à l’utilisateur de revenir rapidement sur le bureau. La différence, bien que subtile, était palpable : Windows n’avait pas eu besoin de redémarrer complètement pour atteindre cet état.

Ces méthodes de raccourcis étaient possibles dans un système construit sur des compatibilités croisées. Windows 95 coexistait avec des logiciels DOS, des programmes en 16 bits et des applications Win32, ce qui a conduit à des solutions parfois peu élégantes mais très efficaces. Les développeurs ont su exploiter cette complexité pour introduire des optimisations invisibles, accélérant le redémarrage, même si cela pouvait parfois provoquer des plantages.

Cependant, cet atout avait ses limites. Chen a remarqué que certains utilisateurs avaient rencontré des problèmes après plusieurs redémarrages rapides successifs. Il a émis l’hypothèse que certains pilotes ne redémaraient pas correctement, laissant le système dans un état instable. Ce type de comportement non documenté résume parfaitement l’esprit de Windows 95 : ingénieux, ambitieux et souvent rempli de compromis.

Impressions | Microsoft



F1-ES