Архитектура Windows 9x
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|

Серия Windows 9x операционных систем относится к монолитному ядру , на котором работают эти операционные системы . Базовый код по функциям аналогичен MS-DOS . требуется поддержка MS-DOS Будучи 16-/32-битным гибридом, для работы .
Критические файлы
[ редактировать ]Windows 95 загружается с использованием следующего набора файлов: [1]
32-битная оболочка и интерпретатор командной строки:
- SHELL.DLL и SHELL32.DLL — API оболочки
- EXPLORER.EXE — оболочка и файловый менеджер Windows
- COMMAND.COM — файл оболочки командной строки. исполняемый
Ядро Windows 95:
- KERNEL32.DLL и KRNL386.EXE — Windows API для ресурсов Windows
- ADVAPI32.DLL — функциональные возможности, дополнительные к ядру, включая функции для реестра Windows, а также функции завершения работы и перезапуска.
- GDI32.DLL и GDI.EXE — интерфейс графического устройства
- USER32.DLL и USER.EXE — реализация графического интерфейса
- COMMCTRL.DLL и COMCTL32.DLL — общие элементы управления (пользовательский интерфейс)
- DDEML.DLL Библиотека управления динамическим обменом данными (DDEML) — предоставляет интерфейс, упрощающий задачу добавления возможностей DDE в приложение.
- MSGSRV32.EXE — действует как 32-битный сервер сообщений и никогда не отображается в списке задач Windows.
- WIN.COM — отвечает за загрузку графического интерфейса и части системы Windows.
Реестр и другие файлы конфигурации:
- SYSTEM.DAT , USER.DAT — содержит реестр Windows.
- MSDOS.SYS — содержит некоторые низкоуровневые параметры загрузки и ресурсы, такие как отключение двойной буферизации и графического интерфейса. логотип
- WIN.INI и SYSTEM.INI — файлы конфигурации из Windows 3.1, которые также обрабатываются в Windows 9x.
Менеджер виртуальных машин и менеджер конфигурации:
- VMM32.VXD — диспетчер виртуальных машин и драйверы по умолчанию. Он заменяет io.sys в качестве ядра.
Устанавливаемый файл Системного менеджера:
- IFSHLP.SYS — позволяет Windows выполнять прямые вызовы файловой системы; обход методов MS-DOS
- IFSMGR.VXD - 32-битный драйвер устанавливаемой файловой системы
- IOS.VXD — диспетчер ввода-вывода, который контролирует и управляет всей файловой системой защищенного режима и драйверами блочных устройств.
- MPREXE.EXE , MPRSERV.DLL и MPR.DLL — маршрутизатор с несколькими поставщиками для сетевой аутентификации и профилей пользователей.
- MSPWL32.DLL — библиотека управления списком паролей.
Драйверы устройств:
- IO.SYS — исполняемый файл, обрабатывающий все основные функции, такие как процедуры ввода-вывода , а также выполняет функции ядра до тех пор, пока vmm32.vxd не вступит во владение.
- HIMEM.SYS — драйвер устройства DOS, который позволяет программам DOS хранить данные в расширенной памяти посредством спецификации расширенной памяти.
- SYSTEM.DRV , MMSOUND.DRV , COMM.DRV , VGA.DRV , MOUSE.DRV , BIGMEM.DRV , KEYBOARD.DRV — 16-битные драйверы
- CP 1252.NLS , CP 437.NLS , UNICODE.NLS , LOCALE.NLS — раскладки клавиатуры
- RMM.PDR — виртуальное устройство картографа реального режима
Система также может использовать CONFIG.SYS , который содержит настройки и команды, выполняемые перед загрузкой интерпретатора команд , и AUTOEXEC.BAT , который представляет собой пакетный файл, автоматически выполняемый после загрузки COMMAND.COM . Однако эти два файла не имеют решающего значения для процесса загрузки, поскольку IO.SYS содержит настройки по умолчанию для обоих на случай отсутствия в системе. В Windows ME CONFIG.SYS и AUTOEXEC.BAT не обрабатываются, а LOGO.SYS можно использовать в качестве заставки.
Последовательность загрузки
[ редактировать ]Процесс запуска Windows 9x состоит из 6 этапов. Первые два из этих шагов являются общими для загрузки любой операционной системы с использованием традиционной комбинации BIOS и Master Boot Record .
Этап 1. Процесс загрузки ПЗУ BIOS
[ редактировать ]ROM BIOS начинает выполнение с адреса физической памяти 000FFFF0h. На этом этапе BIOS сначала выполняет самотестирование при включении питания , затем проверяет наличие загрузочного диска на диске A. Если он не найден на диске A, BIOS ROM проверяет наличие жесткого диска. Если на компьютере установлен BIOS Plug and Play, кроме того, BIOS проверяет оперативную память на наличие адресов портов ввода-вывода, линий прерываний и каналов DMA для устройств Plug and Play , отключает найденные устройства, создает карты используемых и неиспользуемых ресурсов и повторно включает устройства.
Этап 2. Основная загрузочная запись и загрузочный сектор.
[ редактировать ]Основная загрузочная запись загружается по адресу 7C00h и загружает загрузочный сектор раздела Windows Disk . Загрузочный сектор содержит программу загрузки диска и таблицу блоков параметров BIOS , которая ищет местоположение корневого каталога и файл IO.SYS, который затем загружает файл IO.SYS в память.
Этап 3 — IO.SYS инициализация файла
[ редактировать ]IO.SYS инициализирует минимальный драйвер таблицы размещения файлов и загружает MSDOS.SYS в память. Затем отображается «Запуск Windows» в зависимости от строки Boot-Delay в файле MSDOS.SYS. Затем он загружает файл LOGO.SYS и отображает изображение запуска на экране . Если файл DRVSPACE.INI или DBLSPACE.INI существует, он также загружает драйверы для сжатых дисков. Затем Windows пытается открыть файл реестра SYSTEM.DAT. Если это не удается, он пытается открыть SYSTEM.DA0. Если это настроено в MSDOS.SYS или в реестре, двойная буферизация также включена.
Этап 4 — CONFIG.SYS и настройка реального режима
[ редактировать ]Windows 95 и Windows 98 MS-DOS теперь анализируют CONFIG.SYS и загружают драйверы реального режима . Windows ME игнорирует это.Если файл CONFIG.SYS не существует, файл IO.SYS загружает драйверы IFSHLP.SYS , HIMEM.SYS и SETVER.EXE . Windows резервирует все верхние блоки памяти для использования операционной системой Windows 95 или для расширенной памяти .Windows 95 и 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 теперь запрашивают драйверы реального режима, вызывая INT 2Fh , и ищут драйверы в записи реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD, помеченной для загрузки как внешний файл. Затем Vmm32 анализирует раздел [386 Enh] файла Windows\System.ini и загружает перечисленные там драйверы. Некоторые важные драйверы загружаются, даже если они не указаны в реестре Windows , файле SYSTEM.INI или в каталоге Windows\System\Vmm32.
После загрузки драйверов виртуальных устройств реального режима происходит инициализация драйверов в Windows 95 и 98. Затем Vmm32 переключает ЦП из реального режима в защищенный режим . Следующим шагом является инициализация драйверов защищенного режима, выполняемая в три этапа для каждого устройства: критическая часть инициализации (когда прерывания отключены), инициализация устройства (когда разрешен файловый ввод-вывод) и фаза InitComplete. После инициализации драйвера дисплея Windows переключается в графический режим .
Этап 6 – инициализация Win32
[ редактировать ]После загрузки всех драйверов kernel32.dll , krnl386.exe , gdi32.dll , gdi.exe , user32.dll , user.exe , shell32.dll и explorer.exe загружаются файлы . Следующим шагом процесса запуска является загрузка сетевого окружения. Пользователю предлагается войти в настроенную сеть. Когда пользователь входит в систему, его параметры рабочего стола загружаются из реестра, или в конфигурации рабочего стола используется рабочий стол по умолчанию. Затем Windows запускает программы, определенные в папке автозагрузки , WIN.INI и программы, определенные в разделах реестра Run, RunOnce, RunServices и RunServicesOnce внутри ветвей HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion и HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\. После запуска каждой программы в разделе реестра RunOnce программа удаляется из этого раздела.
Ядро
[ редактировать ]Ядро Windows 9x — это 32-разрядное ядро с виртуальной памятью . Драйверы предоставляются в виде файлов .VXD или, начиная с Windows 98, WDM . можно использовать более новые драйверы [2] Однако ядро MS-DOS остается в памяти. Windows будет использовать старые 16-разрядные драйверы MS-DOS, если они установлены, за исключением Windows Me . В Windows Me DOS все еще работает, но Windows будет игнорировать любые попытки загрузки драйверов устройств при анализе файла AUTOEXEC.BAT и переместит переменные среды, которые она все еще распознает, из CONFIG.SYS в реестр Windows.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Виндовс 95 ОСР 2» . WinWorld . Проверено 31 июля 2022 г.
- ^ Microsoft (15 апреля 2002 г.). «Модель драйвера Windows (WDM)» . Майкрософт . Архивировано из оригинала 18 января 2013 г. Проверено 27 мая 2016 г.
Дальнейшее чтение
[ редактировать ]- Шульман, Эндрю (ноябрь 1994 г.). Несанкционированная Windows 95 - Комплект ресурсов для разработчика (1-е изд.). Фостер-Сити, Калифорния, США: John Wiley & Sons, Inc. ISBN 1-56884-305-4 . ISBN 978-1-56884-305-6 .
- Шульман, Эндрю; Браун, Ральф Д .; Макси, Дэвид; Михелс, Раймонд Дж.; Кайл, Джим (1994) [ноябрь 1993 г.]. Недокументированная DOS: Руководство программиста по зарезервированным функциям и структурам данных MS-DOS - расширено и включает MS-DOS 6, Novell DOS и Windows 3.1 (2-е изд.). Ридинг, Массачусетс: Эддисон Уэсли . ISBN 0-201-63287-Х . ISBN 978-0-201-63287-3 . дюйма) Ошибки: ( xviii +856+vi страниц, дискета 3,5
- Пол, Матиас Р. (10 апреля 2002 г.). «[fd-dev] Доступ к HMA из TSR» . freedos-dev . Архивировано из оригинала 9 сентября 2017 г. Проверено 9 сентября 2017 г.
[...] MS-DOS 7.0 + [...] представила [...] по большей части недокументированную структуру данных RMD, обычно расположенную в HMA . Ядро собирает и записывает данные конфигурации и драйвера реального режима во время загрузки (тип драйвера, прерывания, перехваченные драйвером, CONFIG.SYS строка вызова и т. д.) и сохраняет эту информацию в [...] сложном [...] растущая структура данных. Предположительно [...] предназначено для использования ядром Windows, чтобы получить лучшее представление о загруженных драйверах реального режима [...] или даже попытаться отсоединить или выгрузить некоторые из них, [...] оно используется только в очень ограниченной степени ([...] некоторая информация, отраженная в файлах журналов, создаваемых [...] при запуске, и некоторые части [...] менеджера конфигурации также используют ее), [. ..] оставляя место [...] за пределами технической стороны [...] потому что ничего интересного не задокументировано [...]
- Пол, Матиас Р. (13 августа 2002 г.). «Найти свободную область памяти размером менее 1 МБ, которая не будет перезаписана ОС» (на немецком языке). Группа новостей : de.comp.lang.assembler.x86 . Архивировано из оригинала 4 сентября 2017 г. Проверено 3 сентября 2017 г. (Примечание. Также об использовании HMA в MS-DOS 7+ и \WINDOWS\IOS.LOG.)
- Свегер, Кристофер (2007) [15 июля 2002 г.]. «АНСИПЛЮС и Windows» . Архивировано из оригинала 28 ноября 2021 г. Проверено 28 ноября 2021 г.
[…] Код ANSIPLUS не может быть загружен в HMA под MS-DOS 7 (только для Windows 9x), поскольку, очевидно, недостаточно неиспользуемой памяти HMA. […]
- Пол, Матиас Р. (17 июня 2004 г.). «Re: Случайные зависания в DR-DOS 7.03» . [электронная почта защищена] ; Конференция FidoNet : ALT_DOS . Архивировано из оригинала 28 апреля 2019 г. Проверено 28 апреля 2019 г.
[...] все версии MS-DOS до Windows 95 [...] использовали файл COMMAND.COM в стиле COM, который имеет специальную подпись в начале файла, [...] запрашиваемого MS-DOS BIOS. прежде чем он загрузит оболочку, но не с помощью BIOS DR-DOS [...] 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-Х . ISBN 978-1-55615-626-7 .
- Руководство программиста по Microsoft Windows 95: ключевые темы по программированию для Windows от группы разработчиков Microsoft Windows (1-е изд.). Редмонд, Вашингтон, США: Microsoft Press . 1 июля 1995 г. ISBN 1-55615-834-3 . ISBN 978-1-55615-834-6 . Проверено 26 мая 2016 г.
{{cite book}}
:|work=
игнорируется ( помогите ) - Они, Уолтер (1995). Системное программирование для Windows 95 (1-е изд.). Редмонд, Вашингтон, США: Microsoft Press . ISBN 1-55615-949-8 . ISBN 978-1-55615-949-7 .
- Пьетрек, Мэтт (ноябрь 1995 г.). Секреты системного программирования Windows 95 (1-е изд.). Джон Уайли и сыновья, Inc. ISBN 1-56884-318-6 . ISBN 978-156884-318-6 . Проверено 26 мая 2016 г.
{{cite book}}
:|work=
игнорируется ( помогите ) - Хазза, Карен (1997). Написание Windows VxD и драйверов устройств — секреты программирования драйверов виртуальных устройств (2-е издание, 2-е изд.). Лоуренс, Канзас, США: Miller Freeman, Inc. ISBN 0-87930-438-3 . ISBN 978-0-87930-438-6 .
- Митчелл, Стэн (11 мая 1997 г.). Шульман, Эндрю (ред.). Внутри файловой системы Windows 95 (1-е изд.). Севастополь, Калифорния, США: O'Reilly & Associates, Inc. ISBN 1-56592-200-Х . ISBN 978-1-56592-200-6 . Проверено 26 мая 2016 г.
{{cite book}}
:|work=
игнорируется ( помогите )
Внешние ссылки
[ редактировать ]- Майкрософт. «Компоненты архитектуры Windows 95» . Майкрософт . Архивировано из оригинала 17 октября 2014 г. Проверено 27 мая 2016 г.
- Microsoft (15 ноября 2006 г.). «Описание процесса запуска Windows 95» . 1.1. Майкрософт . Q174018. Архивировано из оригинала 14 февраля 2014 г. Проверено 27 мая 2016 г.
- Майкрософт (26 октября 2013 г.). «Понимание Win16Mutex» . 5.0. Майкрософт . КБ125867. Q125867. Архивировано из оригинала 16 января 2014 г. Проверено 27 мая 2016 г.