Операционные системы серии Windows 9x относятся к ядро , лежащее в основе Windows 9x. Его архитектура монолитная.
Базовый код по функциям аналогичен MS-DOS. Как 16- / 32-разрядный гибрид, для работы требуется поддержка MS-DOS.
Windows 95 загружается с использованием следующего набора файлов:
32-разрядная оболочка и интерпретатор командной строки:
Windows 95 Core:
Реестр и другие файлы конфигурации:
Диспетчер виртуальных машин и диспетчер конфигурации:
Устанавливаемый диспетчер файловой системы:
Драйверы устройств:
В системе также может использоваться CONFIG.SYS, который содержит настройки и команды, выполняемые перед загрузкой интерпретатора команд ) и AUTOEXEC.BAT, который представляет собой командный файл, автоматически запускаемый после загрузки COMMAND.COM. Однако эти два файла не критичны для процесса загрузки, поскольку IO.SYS содержит настройки по умолчанию для обоих на случай отсутствия в системе. В Windows ME, CONFIG.SYS и AUTOEXEC.BAT не обрабатываются, и LOGO.SYS можно использовать в качестве заставки.
Процесс запуска Windows 9x состоит из 6 этапов. Первые два из этих шагов являются общими для любой загрузки операционной системы с использованием традиционной комбинации BIOS и главной загрузочной записи.
ROM BIOS начинает выполнение с адреса физической памяти FFFF0h. На этом этапе BIOS сначала выполняет самотестирование при включении, затем проверяет наличие загрузочного диска на диске A. Если он не найден на диске A, BIOS ROM проверяет наличие жесткого диска. диск. Если на компьютере установлена система Plug and Play BIOS, BIOS дополнительно проверяет RAM на наличие адресов портов ввода-вывода, линий прерывания и каналов DMA для устройств Plug and Play, отключает найденные устройства, создает карты используемых и неиспользуемые ресурсы и повторно активирует устройства.
Основная загрузочная запись загружается по адресу 7C00h и загружает загрузочный сектор Windows Раздел диска. Загрузочный сектор содержит программу загрузки с диска и таблицу блока параметров BIOS, которая выполняет поиск местоположения корневого каталога и файла IO.SYS, который затем загружает файл IO.SYS в память.
IO.SYS инициализирует минимальный драйвер File Allocation Table и загружает MSDOS.SYS в память. Затем отображается «Запуск Windows» в зависимости от строки BootDelay в файле MSDOS.SYS. Затем он загружает файл LOGO.SYS и отображает на экране стартовое изображение . Если файл DRVSPACE.INI или DBLSPACE.INI существует, он также загружает драйверы для сжатых дисков. Затем Windows пытается открыть файл реестра SYSTEM.DAT. Если это не удается, он пытается открыть SYSTEM.DA0. Если настроено в MSDOS.SYS или в реестре, двойная буферизация также включена.
Windows 95 и Windows 98 теперь анализируют CONFIG.SYS и загружают драйверы MS-DOS реального режима. Windows ME игнорирует это. Если файл CONFIG.SYS не существует, файл IO.SYS загружает драйверы IFSHLP.SYS, HIMEM.SYS и SETVER.EXE. Windows резервирует все блоки старшей памяти для использования в операционной системе Windows 95 или для расширенной памяти. Windows 95 и Windows 98 исполняют COMMAND.COM для обработки AUTOEXEC.BAT. Он загружает в память программы , завершать и оставаться резидентными. Windows ME игнорирует этот шаг, поскольку поддержка DOS в реальном режиме отключена, а загружаемые TSR могут поставить под угрозу стабильность системы.
IO.SYS теперь запускает WIN.COM. WIN.COM загружает файл VMM32.VXD в память или обращается к нему с жесткого диска. Этот файл содержит наиболее важные драйверы и ядро 9x. Реальный режим загрузчик виртуального устройства проверяет наличие дубликатов драйверов виртуальных устройств, которые существуют как в папке Windows \ System \ Vmm32, так и в файле VMM32.VXD. В случае дублирования будет загружен драйвер в каталоге Windows \ System \ Vmm32. Windows 95 и 98 теперь запрашивают вызовы драйверов реального режима и ищут драйверы в записи реестра HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ VxD, отмеченной для загрузки как внешний файл. Затем Vmm32 анализирует раздел [386 Enh] файла Windows \ System.ini и загружает перечисленные там драйверы. Некоторые важные драйверы загружаются, даже если они не указаны в реестре Windows, SYSTEM.INI или в каталоге Windows \ System \ Vmm32.
После загрузки драйверов виртуальных устройств в реальном режиме происходит инициализация драйвера в Windows 95 и Windows 98. Затем Vmm32 переключает ЦП из реального режима в защищенный режим. Следующим шагом является инициализация драйверов защищенного режима, которая выполняется в три этапа для каждого устройства: критическая часть инициализации (пока прерывания отключены), инициализация устройства (когда разрешен файловый ввод-вывод) и этап InitComplete. После инициализации драйвера дисплея Windows переключается на.
После загрузки всех драйверов Kernel32.dll, gdi32.dll, user32 Загружаются файлы.dll и Explorer.exe. Следующим шагом в процессе запуска является загрузка среды network. Пользователю предлагается войти в настроенную сеть. Когда пользователь входит в систему, его настройки рабочего стола загружаются из реестра или в конфигурации рабочего стола используется рабочий стол по умолчанию. Затем Windows запускает программы, определенные в, WIN.INI, и программы, определенные в разделах реестра Run, RunOnce, RunServices и RunServicesOnce внутри ветвей HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion и HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \Текущая версия\. После запуска каждой программы в разделе реестра RunOnce программа удаляется из раздела.
Ядро Windows 9x - это 32-битное ядро с виртуальной памятью. Драйверы предоставляются файлами.VXD или, начиная с Windows 98, можно использовать более новые драйверы WDM. Однако ядро MS-DOS остается резидентно в памяти. Windows будет использовать старые 16-разрядные драйверы MS-DOS, если они установлены, за исключением Windows Me. В Windows Me DOS все еще работает, но Windows игнорирует любые попытки загрузить драйверы устройств при синтаксическом анализе AUTOEXEC.BAT и перемещает переменные среды, которые она все еще распознает, из файла CONFIG.SYS в реестр Windows.
[...] MS-DOS 7.0 + [...] представил [...] по большей части недокументированную структуру данных RMD, обычно расположенную в HMA. Ядро собирает и записывает данные конфигурации и драйвера реального режима во время загрузки (тип драйвера, прерывания, перехваченные драйвером, строка вызова CONFIG.SYS и т. д.) и сохраняет эту информацию в [...] сложной растущей [...] структуре данных. Предположительно [...] предназначено для использоваться ядром Windows, чтобы получить лучшее представление о загруженных драйверах реального режима [...] или даже попытаться отключить или выгрузить некоторые из них, [...] он используется только в очень ограниченной степени ([...] некоторая информация отражается в файлах журнала, созданных при [...] запуске, а некоторые части [...] диспетчер конфигурации также использует это), [...] оставляя место [...] за пределами технической стороны [...], потому что ничего интересного не документировано [...]
[...] все версии MS-DOS до Windows 95 [...] использовали файл COMMAND.COM в стиле COM, который имеет специальную подпись в начале файла, [...] запрошенного MS -DOS BIOS перед загрузкой оболочки, но не с помощью DR-DOS BIOS [...] COMMAND.COM будет [...] проверять, что он работает на «правильной» версии DOS, поэтому, если вы загрузите их COMMAND.COM под DR-DOS, вы получите сообщение об ошибке «Плохая версия» и их COMMAND.COM завершится, поэтому DR-DOS [...] отобразит сообщение об ошибке «Плохой или отсутствующий интерпретатор команд» (если DR -DOS пытался загрузить командный процессор SHELL = после завершения обработки CONFIG.SYS). В этом случае вы можете ввести путь к действующему DR-DOS COMMAND.COM (C: \ DRDOS \ COMMAND.COM), и все будет в порядке. Теперь все изменилось с тех пор, как MS-DOS 7.0 [...] COMMAND.COM стал внутренне файлом в стиле EXE, поэтому нет никакой волшебной [...] сигнатуры [...] для проверки [...] таким образом DR-DOS никак не может исключить несовместимость COMMAND.COM. Кроме того, их COMMAND.COM больше не проверяет версию, но [...] не работает под DR-DOS [...] просто дает сбой [...] ПК DOS COMMAND.COM отлично работает под DR-DOS [...][3] [4]