Загрузчик операционной системы

Загрузчик операционной системы — системное программное обеспечение, обеспечивающее загрузку операционной системы непосредственно после включения компьютера (процедуры POST) и начальной загрузки.

Загрузчик операционной системы:

  • обеспечивает необходимые средства для диалога с пользователем компьютера (например, загрузчик позволяет выбрать операционную систему для загрузки);
  • приводит аппаратуру компьютера в состояние, необходимое для старта ядра операционной системы (например, на не-x86 архитектурах перед запуском ядра загрузчик должен правильно настроить виртуальную память);
  • загружает ядро операционной системы (Ntoskrnl.exe в случае MS Windows) в ОЗУ. Загрузка ядра операционной системы не обязательно происходит с жесткого диска. Загрузчик может получать ядро по сети. Ядро может храниться в ПЗУ или загружаться через последовательные интерфейсы (это может пригодиться на ранней стадии отладки создаваемой компьютерной системы);
  • формирует параметры, передаваемые ядру операционной системы (например, ядру Linux передаются параметры, указывающие способ подключения корневой файловой системы);
  • передаёт управление ядру операционной системы.

На компьютерах архитектуры IBM PC запуск загрузчика осуществляется программным обеспечением BIOS, записанной в ПЗУ компьютера, после успешного окончания процедуры POST.

Опишем процедуру, с помощью которой происходит загрузка с НЖМД IBM PC:

BIOS производит чтение 512 байт первого сектора НЖМД (MBR) в ОЗУ по адресу 0x00007C00 (0x07C0:0x0000 в формате реального режима), затем прочитанному коду передаётся управление. Этот код читает и анализирует таблицу разделов жёсткого диска, а затем, в зависимости от вида загрузчика, либо передаёт управление загрузочному коду активного раздела жёсткого диска (см. Начальная загрузка компьютера), либо самостоятельно загружает ядро с диска (например, сетевого или съёмного) в оперативную память и передаёт ему управление. Первоначально загрузчик работает в режиме реальной адресации при отключенной адресной линии A20, что создает определённые трудности при написании загрузчиков.

Распространённые загрузчики

[править | править код]

Литература

[править | править код]
  • Скотт Мюллер. Средства диагностики и тех.обслуживание: Загрузка // Модернизация и ремонт ПК / пер. с англ. — 17-е изд. — М.: «Вильямс», 2008. — С. 1341–1349. — 1360 (+147 на CD) с. — ISBN 978-5-8459-1126-1.