Последовательность процесса загрузки
В BIOS компьютеров с архитектурой x86/64 входит программа, которая на- зывается POST (Power On Self Test). Эта программа проверяет устройства компьютера при включении питания. После удачного завершения программы POST запускается другая программа в BIOS, которая называется Hardware Bootstrap Loader (аппаратный загрузчик). Аппаратный загрузчик обращается к загрузочному устройству, указанному в CMOS, для поиска на нем загру- зочного сектора и загрузке его содержимого.
Если загрузка осуществляется с магнитного диска, то производится поиск программы загрузки в нулевом секторе. Для жестких магнитных дисков за- грузочный сектор называют MBR (Master Boot Record, главная загрузочная запись). Аппаратный загрузчик опознает программный загрузчик по сигнату- ре последних двух байтов загрузочного сектора (510 и 511 байты, начиная с 0 байта) — 0xAA55 и загружает его в ОЗУ. Если программный загрузчик в MBR отсутствует, то его поиск осуществляется в первом секторе активного раздела. Размер программного кода в загрузочном секторе меньше 512 байт, поэтому он не может выполнять сложных действий.
Стандартные программные загрузчики, применяемые в GNU/Linux, — GRUB и LILO. Они состоят из двух частей. Одна из них, называемая начальным за- грузчиком, помещается либо в MBR, либо в первый сектор активного разде- ла. Задача начального загрузчика — загрузка второй части загрузчика. Вто- рая часть загрузчика — более сложная программа, которая может загрузить ядро Linux (или другое ядро) и выполнить необходимые действия для загрузки
операционной системы (например, распаковка электронного диска с прими- тивным образом корневой файловой системы).
Загрузчики, используемые в GNU/Linux, способны передавать ядру Linux
различные конфигурационные параметры и дополнительные команды.
После загрузки ядра и его инициализации производится запуск программы
/sbin/init (если в параметрах, переданных ядру, не указано иное). Конфи- гурационный файл программы /sbin/init — /etc/inittab. Процесс init всегда имеет PID, равный 1. Эта программа осуществляет дальнейшую инициализа- цию операционной системы GNU/Linux, зависящую от выбранного режима работы (например, однопользовательский или многопользовательский ре- жим).
В зависимости от выбранного уровня исполнения команда init исполняет тот или иной набор специальных командных файлов, называемых сценария- ми инициализации. Именно эти сценарии определяют, какие программы бу- дут работать на том или ином уровне исполнения и какова будет функцио- нальность системы.
Один из процессов, которые запускает /sbin/init, — сервер терминала getty или аналогичный. Программа getty выводит приглашение войти в се- анс login:. Введенное имя пользователя передается программе login как аргумент. Программа login выводит приглашение ввести пароль password:, который проверяется в базе данных паролей. Если аутентификация произво- дится успешно, то запускается оболочка, указанная для пользователя в файле
/etc/passwd. Перед выводом приглашения login: на экран печатается содер- жимое файла /etc/issue (или /etc/issue.net, если подключение осуществляется через сеть). А после входа в сеанс на экран выводится содержимое файла
/etc/motd (Message Of The Day, сообщение дня).
Дата добавления: 2015-06-12; просмотров: 717;