Архитектура Windows 9x

редактировать

Архитектура Windows 95.

Операционные системы серии Windows 9x относятся к ядро ​​, лежащее в основе Windows 9x. Его архитектура монолитная.

Базовый код по функциям аналогичен MS-DOS. Как 16- / 32-разрядный гибрид, для работы требуется поддержка MS-DOS.

Содержание
  • 1 Критические файлы
  • 2 Последовательность загрузки
    • 2.1 Этап 1 - Процесс начальной загрузки BIOS ROM
    • 2.2 Этап 2 - Основная загрузочная запись и загрузочный сектор
    • 2.3 Этап 3 - IO Инициализация файла.SYS
    • 2.4 Этап 4 - CONFIG.SYS и конфигурация в реальном режиме
    • 2.5 Этап 5 - Инициализация драйверов
    • 2.6 Этап 6 - Инициализация Win32
  • 3 Ядро
  • 4 См. Также
  • 5 Ссылки
  • 6 Дополнительная литература
  • 7 Внешние ссылки
Критические файлы

Windows 95 загружается с использованием следующего набора файлов:

32-разрядная оболочка и интерпретатор командной строки:

  • и - API оболочки
  • EXPLORER.EXE - оболочка Windows и файловый менеджер
  • COMMAND.COM - командная строка оболочка исполняемый файл

Windows 95 Core:

  • KERNEL32.DLL и - Windows API для ресурсов Windows
  • Дополнительные функции ядра. Включает функции для реестра Windows и функции выключения и перезапуска
  • GDI32.DLL и - Интерфейс графического устройства
  • USER32.DLL и - Реализация графического интерфейса
  • и - Общие элементы управления (пользователь интерфейс)
  • Динамический обмен данными Библиотека управления (DDEML) предоставляет интерфейс, который упрощает задачу добавления возможности DDE в приложение
  • Действует как 32-битный сервер сообщений и никогда не появится в Список задач Windows
  • WIN.COM - отвечает за загрузку графического интерфейса и Windows-части системы

Реестр и другие файлы конфигурации:

Диспетчер виртуальных машин и диспетчер конфигурации:

  • VMM32.VXD - Диспетчер виртуальных машин a nd драйверы по умолчанию. Он заменяет io.sys в качестве ядра

Устанавливаемый диспетчер файловой системы:

  • IFSHLP.SYS - позволяет Windows выполнять прямые вызовы файловой системы в обход методов MS-DOS
  • - 32-разрядная версия драйвер для устанавливаемой файловой системы
  • I / O Supervisor, который контролирует и управляет всей файловой системой в защищенном режиме и драйверами блочных устройств
  • и - Multiple Provider Router, необходим для сетевой аутентификации и профилей пользователей
  • Библиотека управления списком паролей

Драйверы устройств:

  • IO.SYS - исполняемый файл, обрабатывающий все основные функции, такие как процедуры ввода-вывода, а также служит ядром пока vmm32.vxd не возьмет верх.
  • HIMEM.SYS - драйвер устройства DOS, который позволяет программам DOS сохранять данные в расширенной памяти через спецификацию расширенной памяти
  • ,, - 16-битные драйверы
  • , - раскладки клавиатуры
  • Виртуальное устройство сопоставления реального режима

В системе также может использоваться CONFIG.SYS, который содержит настройки и команды, выполняемые перед загрузкой интерпретатора команд ) и AUTOEXEC.BAT, который представляет собой командный файл, автоматически запускаемый после загрузки COMMAND.COM. Однако эти два файла не критичны для процесса загрузки, поскольку IO.SYS содержит настройки по умолчанию для обоих на случай отсутствия в системе. В Windows ME, CONFIG.SYS и AUTOEXEC.BAT не обрабатываются, и LOGO.SYS можно использовать в качестве заставки.

Последовательность загрузки

Процесс запуска Windows 9x состоит из 6 этапов. Первые два из этих шагов являются общими для любой загрузки операционной системы с использованием традиционной комбинации BIOS и главной загрузочной записи.

Этап 1 - Процесс начальной загрузки BIOS ROM

ROM BIOS начинает выполнение с адреса физической памяти FFFF0h. На этом этапе BIOS сначала выполняет самотестирование при включении, затем проверяет наличие загрузочного диска на диске A. Если он не найден на диске A, BIOS ROM проверяет наличие жесткого диска. диск. Если на компьютере установлена ​​система Plug and Play BIOS, BIOS дополнительно проверяет RAM на наличие адресов портов ввода-вывода, линий прерывания и каналов DMA для устройств Plug and Play, отключает найденные устройства, создает карты используемых и неиспользуемые ресурсы и повторно активирует устройства.

Этап 2 - Основная загрузочная запись и загрузочный сектор

Основная загрузочная запись загружается по адресу 7C00h и загружает загрузочный сектор Windows Раздел диска. Загрузочный сектор содержит программу загрузки с диска и таблицу блока параметров BIOS, которая выполняет поиск местоположения корневого каталога и файла IO.SYS, который затем загружает файл IO.SYS в память.

Этап 3 - 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 или в реестре, двойная буферизация также включена.

Этап 4 - CONFIG.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 могут поставить под угрозу стабильность системы.

Этап 5 - Инициализация драйверов

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 переключается на.

Фаза 6 - инициализация Win32

После загрузки всех драйверов 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.

См. Также
Ссылки
Дополнительная литература
  • Шульман, Эндрю (ноябрь 1994). Несанкционированная Windows 95 - Пакет ресурсов разработчика (1-е изд.). Фостер-Сити, Калифорния, США: John Wiley Sons, Inc. ISBN 1-56884-305-4. ISBN 978-1 -56884-305-6.
  • Шульман, Эндрю; Браун, Ральф Д. ; Макси, Дэвид; Michels, Raymond J.; Кайл, Джим (1994) [ноябрь 1993]. Недокументированная DOS: Руководство программиста по зарезервированным функциям и структурам данных MS-DOS - расширено за счет включения MS-DOS 6, Novell DOS и Windows 3.1 (2-е изд.). Ридинг, Массачусетс: Эддисон Уэсли. ISBN 0-201-63287-X. ISBN 978-0-201-63287-3.(xviii + 856 + vi стр., 3,5 дюйма - floppy) Опечатка: [1 ] [2]
  • Пол, Маттиас Р. (2002-04-10). "[fd-dev] Доступ к HMA от TSR". Freedos-dev. Архивировано из оригинала 09.09.2017. Проверено 09.09.2017. [...] MS-DOS 7.0 + [...] представил [...] по большей части недокументированную структуру данных RMD, обычно расположенную в HMA. Ядро собирает и записывает данные конфигурации и драйвера реального режима во время загрузки (тип драйвера, прерывания, перехваченные драйвером, строка вызова CONFIG.SYS и т. д.) и сохраняет эту информацию в [...] сложной растущей [...] структуре данных. Предположительно [...] предназначено для использоваться ядром Windows, чтобы получить лучшее представление о загруженных драйверах реального режима [...] или даже попытаться отключить или выгрузить некоторые из них, [...] он используется только в очень ограниченной степени ([...] некоторая информация отражается в файлах журнала, созданных при [...] запуске, а некоторые части [...] диспетчер конфигурации также использует это), [...] оставляя место [...] за пределами технической стороны [...], потому что ничего интересного не документировано [...]
  • Пол, Матиас Р. (13 августа 2002). "Suche freien Speicherbereich unterhalb von 1 MB, der nicht von OS überschrieben wird" (на немецком языке). Группа новостей : de.comp.lang.assembler.x86. Архивировано из оригинала на 2017-09-04. Проверено 3 сентября 2017 г. (NB. Также при использовании MS-DOS 7+ HMA и \ WINDOWS \ IOS.LOG.)
  • Пол, Маттиас Р. (17 июня 2004 г.). «Re: Случайные зависания с DR-DOS 7.03». [email#160;protected] ; FidoNet конференция: ALT_DOS. Архивировано с оригинального 28.04.2019. Проверено 28 апреля 2019. [...] все версии 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]
  • Кинг, Адриан (1994). Внутри Microsoft Windows 95 (2-е изд.). Редмонд, Вашингтон, США: Microsoft Press. ISBN 1-55615-626-X. ISBN 978-1-55615-626-7.
  • Руководство программиста по Microsoft Windows 95: основные темы программирования для Windows от группы разработчиков Microsoft Windows. Технический справочник (1-е изд.). Редмонд, Вашингтон, США: Microsoft Press. 1995-07-01. ISBN 1-55615-834-3. ISBN 978-1-55615-834-6. Проверено 26 мая 2016.
  • Oney, Walter (1995). Системное программирование для Windows 95 (1-е изд.). Редмонд, Вашингтон, США: Microsoft Press. ISBN 1-55615-949-8. ISBN 978-1-55615-949-7.
  • Пьетрек, Мэтт (ноябрь 1995 г.). Секреты системного программирования Windows 95. Серия Секреты (1-е изд.). John Wiley Sons, Inc. ISBN 1-56884-318-6. ISBN 978-156884-318-6. Проверено 26 мая 2016.
  • Хазза, Карен (1997). Написание Windows VxD и драйверов устройств - секреты программирования для драйверов виртуальных устройств (2-е издание, 2-е изд.). Лоуренс, Канзас, США: Miller Freeman, Inc. ISBN 0-87930-438-3. ISBN 978-0-87930- 438-6.
  • Митчелл, Стэн (1997-05-11). Шульман, Эндрю (ред.). В файловой системе Windows 95. Справочники в двух словах (1-е изд.). Севастополь, Калифорния, США: O'Reilly Associates, Inc. ISBN 1-56592-200-X. ISBN 978-1 -56592-200-6. Проверено 26 мая 2016.
Внешние ссылки
Последняя правка сделана 2021-06-12 00:55:35
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте