Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Tema_5_1.rtf
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
4.27 Mб
Скачать

Работа загрузчика

Загрузчик (boot loader) позволяет выбрать операционную систему, которую требуется запустить, и загружает файлы операционной системы из загрузочного раздела. Общие задачи, которые выполняет загрузчик:

  • устанавливает 32-разрядную модель памяти с прямой адресацией (flat addressing);

  • собирает данные об аппаратной конфигурации;

  • строит ее описания в памяти;

  • передает указатель на это описание в блок загрузчика.

После этого NTLDR загружает образ ядра, HAL и драйверы для устройств и файловой системы тома, с которого производится загрузка системы. Помимо всего прочего, на данном этапе производится также и загрузка некоторых драйверов, для которых равен нулю параметр реестра Start, расположенный в следующем разделе реестра:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ ServiceName

Здесь ServiceName представляет собой имя сервиса, например:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\atapi

Функции загрузчика NTLDR

Когда NTLDR начинает работу, он очищает экран и выполняет следующие действия:

  1. Переключает процессор в режим использования 32-разрядной модели памяти с прямой адресацией. Компьютеры х86 при запуске стартуют в реальном режиме, подобном режиму, в котором стартуют процессоры 8088 и 8086. Поскольку NTLDR представляет собой 32-разрядную программу, для того чтобы загрузчик смог начать выполнять какие бы то ни было действия, процессор необходимо переключить в защищенный режим.

  2. Запускает соответствующую минифайловую систему. Код, предназначенный для доступа к файлам на томах FAT и NTFS, встроен в NTFS. Этот код позволяет загрузчику читать файлы, получать доступ к ним и выполнять их копирование.

  3. Читает расположенный в корневом каталоге системного диска файл Boot.ini и отображает на экране соответствующее меню для выбора загружаемой операционной системы. Экран, выводимый на данном этапе загрузки, называется экраном загрузчика (boot loader screen). Если компьютер сконфигурирован для загрузки нескольких систем, и пользователь выбирает операционную систему, отличную от Windows NT/2000, то NTLDR загружает в память файл Bootsect.dos и передает ему управление. Другая операционная система стартует как обычно, поскольку файл Bootsectdos содержит копию загрузочного сектора раздела, который находился на основном разделе или логическом диске до инсталляции Windows NT/2000.

  4. Если выбрана одна из версий Windows NT/2000, то выполняется Ntdetect.com.

  5. Загружает и запускает ядро операционной системы Ntoskrnl.exe и передает ему информацию, собранную программой Ntdetect.com.

Вопросы для самоконтроля

  1. Что такое WIN32 API? В чем принцип его работы?

  2. В каких библиотеках динамической загрузки содержится базовый код API WIN32?

  3. В чем назначение реестра?

  4. Опишите структуру реестра.

  5. Опишите физическую структуру операционной системы.

  6. Какие существуют уровни привилегий в архитектуре процессора Intel?

  7. Расскажите о классах приоритетов системы Windows.

  8. Расскажите о поэтапном запуске системы.

  9. Расскажите о работе и функциях загрузчика.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]