Windows 95 tenía un pequeño secreto que hacía que el reinicio fuera más rápido. La razón fue su arquitectura más caótica. – La nación

si antes Windows 95 Si ha utilizado otros sistemas operativos, será difícil no recordar la sensación de encontrarse ante algo completamente nuevo. Esta propuesta introducía elementos que ahora damos por sentados, como el menú Inicio, la barra de tareas o el Plug and Play, en una época en la que iniciar un PC era casi un pequeño ritual. Pero debajo de esa interfaz familiar se encontraba una arquitectura compleja que fue el resultado de la coexistencia forzada entre herencias de DOS, Windows de 16 bits y las primeras capas de 32 bits. Este diseño, tan poco elegante como efectivo, propició comportamientos inesperados que aún hoy sorprenden.
Pocos usuarios sabían que Windows 95 escondía una forma alternativa al reinicio clásico. Bastaba mantener presionada la tecla Shift durante el proceso iniciado desde la interfaz gráfica para que el sistema mostrara el aviso “Windows se está reiniciando” en lugar de seguir el camino de un arranque en frío. como lo describe Raymond Chen. La diferencia no fue espectacular, pero sí se notó en un momento en el que cada minuto inicial contaba. Este pequeño gesto activó un mecanismo interno diseñado para evitar en la medida de lo posible empezar de cero.
El atajo que no se reinició por completo
Detrás de este comportamiento hubo una decisión técnica precisa. Chen señala que Windows 95 usó un indicador llamado EW_RESTARTWINDOWS al llamar a la antigua función ExitWindows, todavía de 16 bits. Con esta instrucción, el sistema no ordenó un arranque en frío de la computadora, sino algo más limitado: Cierra Windows y reinícialo.. El objetivo era ahorrar pasos si la situación interna lo permitía. Sin embargo, el requisito previo para esta optimización era que todo encajara correctamente.
Una vez que se tomó este camino alternativo, el proceso siguió una secuencia muy específica. El kernel de Windows de 16 bits se apagó primero. Luego se apagó el administrador de memoria virtual de 32 bits y el procesador volvió al modo real, el estado más básico del sistema. En este punto, el control volvió a win.com con una señal especial que pedía algo muy específico: reiniciar Windows en modo protegido sin realizar un inicio completo de la computadora.
Con la devolución del control a win.com comenzó la parte más delicada del proceso. El programa tuvo que simular un inicio limpio de Windows como si acabara de reiniciarse desde cero, lo que, en palabras de Chen, implicó restablecer las opciones de la línea de comando y restablecer algunas variables globales a sus valores originales. Aunque el trabajo fue en gran medida burocrático, fue particularmente complejo gracias a win.com Fue escrito en lenguaje ensamblador.. No había abstracciones ni comodidades modernas.
El punto clave fue la memoria. Cuando win.com se estaba ejecutando, como cualquier archivo .com, recibía toda la memoria convencional disponible. Sin embargo, casi toda la memoria se liberó más allá de su propio código, lo que permitió a Windows cargar un gran bloque contiguo al ingresar al modo protegido. Durante la sesión, si un programa reservaba memoria dentro del espacio liberado por win.com, la memoria se fragmentaba. En este escenario, win.com ya no pudo restaurar la tarjeta original esperada y, como explica Chen, tuvo que cancelar el reinicio rápido y realizar un reinicio completo.
Cuando todo encajó, el proceso continuó sin vuelta atrás. win.com saltó directamente al código responsable de iniciar Windows en modo protegido, reconstruyó el Administrador de máquinas virtuales yVuelve a subir las capas de 32 bits. A partir de ahí la interfaz gráfica se cargaba como de costumbre y el usuario regresaba al escritorio. La diferencia fue sutil pero real: Windows no tuvo que reiniciar todo el sistema para llegar a este punto.
Este tipo de vinculación sólo tenía sentido en un sistema basado en compatibilidades cruzadas. Windows 95 tuvo que coexistir con software DOS, programas Windows de 16 bits y aplicaciones Win32, y esta combinación nos obligó a aceptar soluciones poco elegantes pero muy prácticas. Los desarrolladores aprovecharon esta complejidad para introducir optimizaciones ocultas que podían acelerar los reinicios, aunque en ocasiones provocaban fallos.
La obsesión por almacenar recuerdos dio lugar a soluciones muy inventivas. Chen explica que era una práctica común en el lenguaje ensamblador reciclar código que ya no estaba destinado a usarse como si fuera memoria libre. En win.com, los primeros bytes del punto de entrada fueron reutilizados como variable globalsuponiendo que este código solo se ejecutó una vez. Dado que el reinicio rápido no volvió a este punto de inicio, el sistema pudo permitir este acceso directo sin afectar el proceso.
Esta abreviatura también mostró sus costuras. Chen recuerda que después de varios reinicios rápidos consecutivos, algunos usuarios descubrieron errores que no pudo reproducir de manera consistente. Su hipótesis es que un conductor no arrancó correctamente, dejando el sistema en un estado extraño, y que esta extrañeza luego pasó factura. No sorprende que este tipo de comportamiento no se haya presentado como una característica documentada, pero resume bien el espíritu de Windows 95: inventivo, ambicioso y lleno de compromisos.
Imágenes | microsoft
En Xataka | Oficina de Schrödinger: en este punto es imposible saber si Microsoft lo mantiene vivo o si es todo IA y Copilot