У Windows 95 існував маловідомий трюк: якщо під час перезапуску затиснути клавішу Shift, система стартувала значно швидше. Через десятиліття ветеран Реймонд Чен пояснив, що насправді відбувалося «під капотом» і чому цей механізм був надзвичайно крихким.
🔁 Як Shift змінював перезапуск Windows 95
У середині 1990-х користувачі помітили дивну особливість: при затиснутій клавіші Shift під час перезапуску Windows 95 комп’ютер не проходив повний цикл холодного ребуту. Замість цього система показувала повідомлення Please wait while Windows restarts і швидко поверталася до робочого столу.
Згодом інженер Реймонд Чен з Microsoft підтвердив: це був не баг, а спеціальний механізм, закладений у систему.
⚙️ Що відбувалося на технічному рівні
Під час такого перезапуску Windows передавав спеціальний прапорець EW_RESTARTWINDOWS у стару 16-бітну функцію ExitWindows. У результаті:
- не виконувалося повне апаратне перезавантаження;
- зупинялося 16-бітне ядро Windows;
- завершувався 32-бітний менеджер віртуальної пам’яті;
- процесор переводився назад у реальний режим;
- керування знову передавалося програмі win.com, яка повторно запускала Windows у захищеному режимі.
Фактично система намагалася імітувати новий запуск, не вимикаючи комп’ютер повністю.
🧠 Чому це працювало не завжди
Ключова проблема полягала в пам’яті. Програми формату .com у ті часи займали всю доступну конвенційну памʼять. win.com мусив звільнити зайве, щоб Windows отримав один великий безперервний блок пам’яті.
Якщо інші програми встигали фрагментувати памʼять, швидкий перезапуск ставав неможливим — система переходила до звичайного ребуту.
💥 Чому механізм був крихким
У 90-х розробники часто використовували нестандартні оптимізації, щоб зекономити памʼять. Наприклад, у win.com частина коду, яка виконувалася лише раз, повторно використовувалася як змінні.
Це працювало лише за однієї умови — код не мав запускатися повторно. Саме тому швидкий перезапуск був небезпечним:
- деякі драйвери не скидали свій стан;
- після кількох таких перезапусків накопичувалися помилки;
- система могла аварійно завершити роботу.
Сам Чен зазначав, що стабільно відтворити проблему складно, але вона точно існувала.
🕰️ Чому такого більше немає
Сучасні версії Windows використовують інші архітектурні підходи:
- повну ізоляцію памʼяті;
- захищене ядро;
- контроль стану драйверів.
Те, що було можливе в Windows 95, сьогодні вважається надто ризикованим — але саме такі рішення й робили ранні версії Windows технічно унікальними.
