Методическое пособие - Процесс загрузки ОС MS Windows
.pdf1
Процесс загрузки Windows
Вкл. ПК
Тестирование ОЗУ |
|
BIOS |
|
|
|
|
|
|
Инициализация оборудования,
Построение таблицы векторов- BIOS прерываний
|
|
BIOS |
|
Выбор активного раздела и поиск |
|||
|
|
||
загрузчика (boot record) |
|
|
|
|
|
||
|
|
|
(можно нажать F8 для выхода в меню загрузки)
Поиск и
считывание в Boot record ОЗУ файла IO.sys
Отображение заставки Windows
|
|
Поиск и |
|
|
|
|
|
|
|
|
|||
|
|
считывание в |
|
|
|
|
IO.sys |
|
|||||
|
|
ОЗУ MSDOS.sys |
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Обработка config.sys (если есть) |
|
|
|
|
|
|
IO.sys |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IO.sys |
|
|
|
|
Поиск и загрузка command.com |
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Обработка autoexec.bat (если есть) |
|
|
|
|
|
Command.com |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Command.com |
|
|||
|
Автовыполнение команды win.com |
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2
Проверка состояния оборудования. Запрос перечня установленного оборудования, включение функции Plug and
|
|
Диспетчер |
|
Загрузка vxd виртуальных драйверов |
|||
|
виртуальной |
||
устройств и их инициализация |
|
||
|
машины |
||
|
|
||
|
|
vmm32.vxd |
|
|
|||
|
|
|
Загрузка 16разрядного ядра
Windows 9x
User.exe
Gdi.exe
Krln386.exe
Windows готова к работе в 16-разрядном режиме
Вызов оболочки и загрузка приложения vwin32.386
Загрузка 32разрядного ядра user32.dll gdi32.dll kernel32.dll
Windows работает в 32-разрядном режиме
Ввод имени и пароля (если есть)
Формирование графического интерфейса
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В процессе загрузки: |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
1) автоматическое |
тестирование |
|
||||
|
|
|
|
|
|
|
Место |
|
|
|
основных аппаратных |
компонент |
|
||||
|
BIOS |
|
|
|
расположения- |
|
|
|
(ОЗУ) при включении компьютера. |
|
|||||||
|
|
|
|
|
|
|
|
ПЗУ или ППЗУ |
|
|
|
На экране - счётчик. По окончании - |
|
||||
|
Basic |
|
|
|
|
|
|
|
|
выдача сообщения ‘ОК’; |
|
||||||
|
Input |
|
|
|
|
|
|
|
|
2) инициализация векторов - |
|
|
|
|
|||
|
Output |
|
|
|
|
|
|
|
|
прерываний нижнего уровня; |
|
|
|
||||
|
System |
|
|
|
|
|
|
|
3) считывание с системного |
диска в |
|
||||||
|
(базовая |
|
|
|
|
|
|
|
ОЗУ несистемного блока начальной |
|
|||||||
|
система |
|
|
|
|
|
|
загрузки MBR. |
|
|
|
|
|
||||
|
ввода- |
|
|
|
|
|
|
|
В процессе работы: |
|
|||||||
|
выводв |
) |
|
|
|
|
|
управление стандартными ПУ |
. |
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Файл MS-DOS.sys
Представляет собой тестовый файл, содержащий настройки загрузки Windows. Содержит две секции. Заголовки секций записываются в квадратных скобках. В секциях содержатся строки.
1)секция [Paths]
Команды:
WinDir=имя основного каталога Windows 9x
WinBootDir=имя каталога, из которого осуществляется загрузка Windows 9x HostWinBootDrv=имя загрузочного диска
Например, WinDir=C:\Windows WinBootDir=C:\Windows HostWinBootDrv=C:
2)секция [options]
Команды: BootMulti=1 (0)
Параметр 1 используется по умолчанию и разрешает двойную загрузку, по нажатии F4 выполняется загрузка предыдущей версии DOS.
BootDelay=2
Время, в течении которого Windows 9x ждет нажатия клавиши управления загрузкой F8.
BootFailSafe=0 (1)
Параметр 1 устанавливает режим загрузки - защита от сбоев. BootKeys=1 (0)
Параметр 0 запрещает обработку нажатия клавиши F8. BootMenu=0 (1)
Параметр 1 выводит в процессе загрузки загрузочное меню без нажатия клавиши F8.
4
Кроме этих строк в файле могут содержаться строки со значками *, например,
*************************************************
Они смысловой нагрузки не несут, но удалять их нельзя, т.к. размер файла должен быть не менее 1024 байт, что требуется для совместимости с другими программами.
Функции config.sys, включенные в IO.sys
Файл config.sys располагается в корневом каталоге системного диска, представляет собой текстовый файл, задающий параметры DOS, указывающий, какие драйверы устройств нужно загрузить. В Windows необходим только для поддержки раскладки кириллицы для клавиатуры при работе с DOS-программами. Ряд команд встроены в модуль IO.sys.
1)DOS=high
2)himem.sys
3)ifshlp.sys
4)setver.exe
5)files=60
6)lastdrive=z
7)buffers=30
8)stacks=9,256
9)shell=command.com/p
10)fcbs=4
11)dos=auto
Меню загрузки F8
|
Команда |
|
Назначение |
|
1. |
Normal |
Запуск |
Windows в обычном режиме |
|
|
|
(используется системой по умолчанию |
||
|
|
при отсутствии проблем) |
|
|
2. |
Logged (\bootlog.txt) |
Запуск с созданием файла bootlog.txt в |
||
|
|
корневом каталоге диска C:\. В нем |
||
|
|
содержится протокол загрузки со всеми |
||
|
|
подключенными |
драйверами. |
|
|
|
Используется при возникновении проблем |
||
|
|
или неполадок в системе для выявления |
||
|
|
ошибки. |
|
|
3. |
Safe mode |
Запуск Windows в режиме защиты от |
||
|
|
сбоев, |
в простейшей |
конфигурации |
|
|
(недоступен CD-ROM, сеть, имеются |
||
|
|
ограничения по режиму DOS). |
||
4. |
Safe mode with network |
Тоже, что и в п.3, но с поддержкой сети. |
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
support |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
5. |
Step-by-step confirmation |
|
Загрузка в пошаговом режиме, на экран |
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
последовательно выдаются строки файлов |
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
конфигурации. Enter – для выполнения |
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
команды, Esc – для отказа. Драйверы и |
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
модули |
|
|
Windows |
|
|
|
выполняются |
без |
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
подтверждения. |
|
|
|
|
|
|
|
|
|
|
|
|||||||
6. |
Command prompt only |
|
Загрузка в стандартном режиме (DOS- |
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
загрузка) без запуска графического |
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
интерфейса. |
на |
|
|
|
экран |
выдается |
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
приглашение DOS С:\. Для продолжения |
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
загрузки нужно |
|
выполнить |
команду |
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
win.com |
|
|
|
|
|
|
|
|
|
|
|
|||||||
7. |
Safe mode command |
|
Комбинация пп. 3 и 6. Запуск интерфейса |
|
|
|||||||||||||||||||||||
|
|
|
prompt only |
|
|
|
Windows невозможен. |
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1) |
Приём и обслуживание команд ОС |
|
||||||||||||
|
|
CI |
|
|
|
|
|
|
|
|
|
|
|
с |
клавиатуры; |
|
внутренних |
команд |
||||||||||
|
|
|
|
|
|
|
Файл command.com в |
|
|
2) выполнение |
|
|||||||||||||||||
|
|
|
|
|
|
|
|
корневом |
каталоге |
|
|
|
ОС; |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
Command |
|
|
|
|
системного диска. |
|
|
|
|
3) |
выполнение |
командных |
файлов |
|||||||||||||
|
|
Interpretator |
|
|
|
|
|
|
|
|
|
|
|
(.com, .exe); |
|
|
|
|
|
|
|
|
|
|
||||
|
|
(командный |
|
|
|
|
|
|
|
|
|
4) загрузка |
|
программ в |
память для |
|||||||||||||
|
|
процессор) |
|
|
|
|
|
|
|
|
|
выполнения; |
|
прерываний |
по |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5) обработка |
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
завершению задачи |
. |
|
|
|
|
6
Организация оперативной памяти ПК
( О З У ) |
Высшая зона или |
расширенная память |
(XMS) |
в о п а м я т и |
зонапамяти |
384К |
|
а н с т |
Верхняя |
(UMA) – |
|
е с н о е п р о с т р |
Область пользователя |
(стандартная память) |
580К |
А д р |
Область DOS |
|
|
|
|
|
|
|
Управляется драйвером himem.sys |
|
|
Размер ограничен физической памятью ПК |
|
|
(объемом ОЗУ) |
|
|
|
|
|
Область высокой памяти (HMA) |
64K |
|
Command.com (нерезидентная часть) |
|
|
IO.sys |
|
1024К (1М) |
ROM BIOS (копия BIOS) |
|
|
|
|
|
Блоки UMB (Upper Memory Blocks) – 4х16=64 К |
16К |
|
Управляется драйвером emm386.exe |
16К |
|
|
16К |
|
|
16К |
|
|
|
|
Видеопамять (видеодрайверы) |
|
640К |
Command.com (резидентная часть) |
|
|
Системный стек |
256 б |
|
Прикладные программы DOS |
|
60К |
Vmm32.exe |
15K |
|
Win.com |
4K |
|
Драйверы реального режима (MS DOS) (himem, |
|
|
emm386, display) |
|
|
Буфер |
|
|
MSDOS.sys |
28К |
0000:0000 |
Таблица векторов прерываний |
|
Основные области памяти:
1) Стандартная (базовая) память (conventional (Base) memory) в которой работают программы и которая доступна пользователю. Её объём - 640 кбайт.
Первые 60 Кб от её объёма называют область DOS. Оставшиеся 580 Кб – область пользователя.
Таблица векторовпрерываний занимает зону размером 1 Кб. Содержащий адреса программ, вызываемых при определённых ситуациях (нажатие функциональной клавиши). Каждая запись в таблице векторов - прерываний имеет длину в 4 байта и содержит 1 адрес в формате “ сегмент :
7
смещение “. Таблица векторов - прерываний может содержать max 256 адресов.
По нажатии функциональной клавиши или поступлении соответствующей команды считывается запись в таблице и выполняется программа, расположенная по этому адресу. По окончании компьютер продолжает выполнение программы, которую он выполнял до поступления этого требования.
2)Верхняя зона памяти (UMA - Upper Memory Area) - память между 640 кб и 1 Мб – 384 Кб.
В нижних адресах содержит память дисплея - видеопамять, в верхних - копию BIOS.
Часть UMA, использующая свободные адреса (4 зоны х 16 кбайт = 64 кбайта) называется UMB (upper memory blocks). Доступна через драйвер памяти emm386.exe.
3)Расширенная (extended) память - XMS память за пределами 1 Мб. Используется специально разработанными программами. Управляется драйвером himem.sys. Ее размер ограничен физической память ПК.
Область высокой памяти (HMAhigh memory area) - часть расширенной памяти, располагающаяся сразу за границей 1 Мб и имеющая размер 64 Кб. В ней располагается модуль IO.sys и нерезидентная часть command.com. Представляет собой окно, через которое можно работать с расширенной памятью.
Уровни защиты процессора 80386
Существует 4 уровня (кольца) привилегированности. В каждый момент времени процессор работает только с одним уровнем привилегий.
|
|
|
|
|
|
Прикладные |
|
|
|
|
|
|
|
программы |
|
|
|
|
|
|
|
||
|
кольцо 3 |
|
|
|
|||
|
|||||||
|
уровня |
|
|
|
|||
Функции ОС, 32- |
|||||||
|
|
|
|
|
|
||
|
|
|
|
|
|
||
|
|
|
|
|
|
разрядный код |
|
ядро-пользователь |
|
|
|
|
|||
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
кольцо 0 |
|
|
|
Драйверы |
|||
уровня |
|
|
|
устройств |
|||
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Аппаратные |
|
|
|
|
|
|
|
средства |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
8
Вкольце 0 уровня выполняется код системного уровня. программы работают с аппаратурой напрямую. Используется файловая система защищенного режима, диспетчер виртуальных машин (ДВМ) – файл vmm32.vxd и аппаратно-ориентированные драйверы.
В3 кольце выполняются прикладные программы и части операционной системы.
Т.о. в Windows 9x реализована 2-ух уровневая модель защиты – "ядропользователь" или "клиент-серевер".
Типы драйверов устройств
В Windows 9x применяется архитектура "универсальный драйвер/минидрайвер". Универсальный драйвер включает большую часть кода, необходимого конкретному классу устройств для взаимодействия с соответствующими компонентами системы. Минидрайвер – сравнительно небольшой и простой драйвер, содержащий дополнительные инструкции, необходимые для работы конкретного устройства.
Windows 9x поддерживает 3 типа драйверов устройств:
1)драйверы реального режима MS-DOS, файлы с типом *.sys, подключаемые в файле конфигурации config.sys. используются DOSрежимом. Требуют повышенных ресурсов и процессорного времени.
2)16-разрядные драйверы Windows 3.1 (11), файлы с типом *.drv. Представляют собой драйверы стандартных устройств, например, system.drv, keyboard.drv, mouse.drv, vga.drv, netware.drv, speaker..drv. Содержатся в каталоге System основного каталога Windows.
3)32-разрядные виртуальные драйверы для Windows 3.1 (11) (тип *.386) и для Windows (тип *.vxd). Управляют системным ресурсом (аппаратным или программным) и позволяют использовать этот ресурс более чем одному приложению. VxD – общее название семейства драйверов виртуальных устройств, где буква х означает тип конкретного драйвера, например, драйвер дисплея – vdd, таймера – vtd, принтера – vpd и т.д. Драйверы vxd загружаются динамически, т.е. в памяти присутствуют необходимые в данный момент драйверы. Они используются файлом ДВМ vmm32.vxd, который имеет разный размер на разных ПК в зависимости от их конфигурации, кроме того динамически изменяет свой размер, в зависимости от количества работающих в данный момент драйверов. Содержатся в каталоге System основного каталога Windows.
Кроме того встроенные функции операционной системы содержатся в динамической библиотеке связей (DLL – Dynamic Linking Library). Они представляют собой набор файлов с типом *.dll, которые вызываются в работу конкретным приложением по мере необходимости. Т.о. приложению нет необходимости содержать все функции в своем программном коде. Содержатся в основном каталоге Windows, в каталоге System, а также в каталогах установленных приложений.