|
Загрузка
и инициализация драйверов устройств
Теперь ядро инициализирует
низкоуровневые драйверы устройств, которые были загружены на стадии загрузки
ядра. В случае ошибки при инициализации одного из драйверов система предпринимает
корректирующее действие, основываясь на данных, определенных параметром реестра
HKEY_LOCAL_ MACHINE\SYSTEM\CurrentControlSet\Services\
DriverName
\ErrorControl.
Далее Ntoskrnl.exe
сканирует реестр, на этот раз — в поисках драйверов устройств, для которых значение
раздела HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Services\
DriverName
\Start
установлено в 0x01. Это всегда так: значение Group для каждого драйвера устройства
определяет порядок в котором производится их загрузка. Раздел реестра HKEY_LOCAL_MACHINE
\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder определяет порядок загрузки.
В отличие от фазы
загрузки ядра, драйверы устройств, для которых значение Start установлено на
0x01, загружаются не за счет вызовов BIOS или программ ПЗУ, а с помощью драйверов
устройств., загруженных на стадии загрузки ядра и только что инициализированных
на этой стадии. Обработка ошибок в процессе инициализации этой группы драйверов
устройств также основывается на значении параметра ErrorControl для соответствующих
драйверов устройств.
|