П’ятниця, 23 Січня

У 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 технічно унікальними.

Exit mobile version