Если вы являетесь давним читателем Neowin, то, вероятно, входите в число пользователей Windows, которые замечали люботительное поведение: при удержании клавиши Shift во время перезагрузки не происходил полный холодный перезапуск; вместо этого система выполняла нечто иное.
Для тех, кто не в курсе, когда пользователь удерживал клавишу Shift при перезапуске Windows 95, система вела себя иначе, чем при полном холодном перезапуске. Вместо полной перезагрузки оборудования Windows отображала сообщение «Windows is restarting» (Windows перезагружается) и пыталась выполнить, по сути, быструю перезагрузку. В некотором смысле это было похоже на функцию быстрого запуска (Fast Startup), которую Microsoft внедрила гораздо позже в Windows 8.
Ветеран-разработчик Microsoft Windows Рэймонд Чен объяснил, как это работало. Чен в своей новой статье в колонке The Old New Thing отмечает, что такое поведение было частью старой 16-разрядной функции `ExitWindows` при получении флага `EW_RESTARTWINDOWS`.
Если вам интересно, функция `ExitWindows` — это устаревшая функция, используемая для выхода из системы интерактивного пользователя Windows, а параметр `EW_RESTARTWINDOWS`, как следует из названия, используется для перезапуска системы.
Чен пояснил, что последовательность завершения работы начиналась с самого 16-разрядного ядра Windows, затем следовал 32-разрядный менеджер виртуальной памяти, после чего ЦП возвращался в реальный режим.
После этого управление возвращалось к загрузочной программе «win.com» со специальным сигналом: «Не могли бы вы снова запустить для меня Windows в защищенном режиме?», тем самым предписывая ей перезапустить Windows в защищенном режиме. В результате код в `win.com` отображал сообщение «Please wait while Windows restarts…» (Пожалуйста, подождите, пока Windows перезапускается…), пытаясь восстановить работу системы, как было запрошено.
Если пытаться вникнуть в суть, `Win.com` по сути являлся исполняемым файлом, используемым для загрузки различных версий Windows, основанных на DOS, таких как Windows 95. В то же время реальный режим Windows — это ранняя разработка, предназначенная для работы на ПК с минимальными ресурсами, такими как 192 КБ ОЗУ и дисководы, а Windows в защищенном режиме — это полноценная версия ОС с защитой памяти, графическим интерфейсом пользователя (GUI) и всем остальным.
Чен отмечает, что по своей природе файлы .com при запуске занимали всю обычную память, но в случае с `win.com` он освобождал неиспользуемое пространство, чтобы создать один большой непрерывный блок для Windows в защищенном режиме. Таким образом, если другая программа фрагментировала это пространство памяти, быстрая перезагрузка не могла быть успешной, и `win.com` переходил к полному перезапуску. В противном случае быстрая перезагрузка продолжалась, поскольку она воссоздавала менеджер виртуальных машин и запускала графический пользовательский интерфейс (GUI), создавая у пользователя впечатление бесшовной быстрой перезагрузки.
Однако этот процесс не был безупречным, как добавляет Рэймонд Чен, поскольку некоторые пользователи сообщали, что попытка выполнить две быстрые перезагрузки подряд приводила к сбоям, в то время как другие, по-видимому, справлялись с несколькими быстрыми перезагрузками без проблем. Вероятное объяснение заключалось в том, что некоторые драйверы устройств не сбрасывались должным образом, оставляя поврежденную память, которая проявлялась только при завершении работы.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Sayan Sen




