Загрузка и инициализация Unix

Загрузка и инициализация системы

 

    При включении питания запускается BIST – встроенное средство самоконтроля, которое работает в младших адресах памяти и осуществляет проверки памяти и периферийных устройств. Все результаты записываются в CMOS. После чего BIST вырабатывает сигнал RESET и запускается POST. Проверяются младшие адреса памяти, процессор, шина. Результаты также записываются в CMOS. Если во время проверок обнаружена ошибка, то система останавливается с выдачей соответствующего предупреждения. Если ошибок не обнаружено, то управление передается начальному загрузчику, который просматривает список загрузочных устройств и выбирает первое готовое. В зависимости от типа загрузчика либо начинается загрузка его первого сектора (CD), либо в связи с большими размерами в NIPL загружается BootVol, который содержит урезанное ядро и драйверы. Начальный загрузчик с диска IPL загружает это ядро, которое создает виртуальный диск, где анализирует BootVol и монтирует основной логический том. После этого ядро уничтожает виртуальный диск и запускает процесс идентификации init. Init в зависимости от режима работы системы запускает необходимые процессы и загружает драйверы.

 

    Unix может работать в нескольких режимах: многопользовательский и однопользовательский (только администратор). Однопользовательский используется при глобальной настройке. Работа в многопользовательском режиме возможна на нескольких уровнях. Это задается в /etc/inittab – текстовый файл, где каждая строка это описание процесса запускаемого на заданном уровне.

 

    Описание: имя:[уровень]:действие:[команда]

 

    Уровень – Если не указан, то используется на всех уровнях. Уровни 1..9,S,M (s – однопользовательский, 2 – многопользовательский, 3 – многопользовательский с поддержкой сетевой файловой системы).

 

    Команда – указывает на запускаемый процесс.

 

    Действие – метод запуска процесса:

 

    respawn – периодический перезапуск процесса

 

    wait – ожидая запуска

 

    once – однократно

 

    sysinit – действие по однократному запуску системного процесса, выполняющегося до входа пользователей в систему.

 

    Initdefault – определяет уровень загрузки системы по умолчанию. Когда Init впервые запускается ядром, он сначала ищет действия. Если уровень по умолчанию не задан, то он считается равным 9.

 




double arrow
Сейчас читают про: