avatar
infosecurity
@tg_infosec
23.09.2025 19:34
А вы знали, что установка Windows 95 проходила через три операционные системы: MS-DOS, Windows 3.1, а уже потом Windows 95. Почему не перейти от MS-DOS сразу к Windows 95?

Пользователь Twitter @tthirtle спросил:
Here’s another good question. Why does Windows 95 setup use 3 different UI’s. DOS,Win3.x,and Win9x?
- - -
Ещё один хороший вопрос: почему в установке Windows 95 используется три разных UI. DOS, Win3.x и Win9x?


Установка Windows 95 может быть апгрейдом с трёх начальных точек: MS-DOS, Windows 3.1 или Windows 95. (Да, можно проапгрейдить Windows 95 до Windows 95. Это может понадобиться для того, чтобы восстановить повреждённую систему и сохранить при этом данные).

Один из вариантов решения — написать три версии установки Windows 95: одна для установки из MS-DOS, другая для установки из Windows 3.1 и третья для установки из Windows 95.
Это не очень удобный вариант, ведь, по сути, придётся трижды выполнять одну и ту же работу, но реализованную по отдельности, так что потребуется в три раза больше кода.

Вариант получше: просто написать одну версию установки Windows 95 и использовать её для всех трёх начальных точек. Так вы сможете выбирать платформу, на которой будет базироваться ваш код.

Если написать установку Windows 95 как приложение MS-DOS, то оно запустится на всех трёх платформах. И это отлично! Достаточно написать только одну программу-установщик. Недостаток этого заключается в том, что это будет установщик в текстовом режиме, который будет выглядеть некрасиво и оставит неприятное первое впечатление от продукта, который должен познакомить пользователя с миром совершенно нового GUI.

Вариант с другого конца спектра: можно написать установщик Windows 95 как 32-битную GUI-программу, но если пользователь начинает с MS-DOS или Windows 3.1, то придётся установить Windows 95 до того, как можно будет запустить установку Windows 95!

Но есть и золотая середина: можно сделать так, чтобы программа-установщик для MS-DOS устанавливала минимальную версию Windows 3.1, в которой есть только ровно необходимое для 16-битной GUI-программы установки. Эта крошечная версия достаточно мала, чтобы её можно было скопировать и установить с небольшого количества гибких дисков. После завершения её установки можно загрузить крошечную версию Windows 3.1 и запустить 16-битную GUI-программу установки.

Итак, теперь у нас есть три программы-установщика. Первая используется при установке из MS-DOS: она устанавливает крошечную версию Windows 3.1, а затем загружает Windows 3.1, чтобы продолжить выполнение со следующего этапа.

Вторая программа-установщик запускается как 16-битная программа Windows или в миниатюрной копии Windows 3.1 (если пользователь выполняет апгрейд с MS-DOS), или в реальной копии Windows 3.1 (если пользователь апгрейдится с Windows 3.1), или в реальной копии Windows 95 (если пользователь обновляется с Windows 95). Эта вторая программа-установщик и выполняет практически всю реальную работу: она обеспечивает первоначальное взаимодействие с пользователем для получения информации о том, как устанавливать Windows 95, например, спрашивает, какие опциональные компоненты нужно установить, а также выполняет распознавание оборудования, чтобы знать, какие драйверы устанавливать2. Затем она копирует драйверы и файлы Windows 95 в систему, выполняет миграцию старых настроек в новую операционную систему и загружает Windows 95.

Третья программа-установщик запускается как 32-битное приложение Windows. Она работает в реальной системе Windows 95 и выполняет финальные шаги, требующие живой работающей системы, например, устанавливает принтеры. Именно поэтому установка Windows 95 — это, на самом деле, цепочка из трёх программ-установщиков. Это позволяет использовать одну копию кода во всех трёх сценариях установки. Каждая программа на один шаг приближает вас к цели. И всё это реализовано только один раз.

emoji Первоисточник || Источник.

#Разное
? 12
? 5
? 4
? 2
18 4.6K

Обсуждение 0

Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.

Обсудить в Telegram

infosecurity

26.8K
Информационная безопасность, пентест и многое другое...

Сообщество в Max: https://vk.cc/cTinp8

Приобрести рекламное размещение: https://telega.in/c/tg_infosec

РКН: https://vk.cc/cN3VBI
Открыть в Telegram