Операционная система Free BSD

Этапы начальной загрузки


FreeBSD - сложная операционная система, поэтому если Вы хотите, чтобы она работала корректно, выполняйте операции ее запуска и остановки по всем правилам.

На этапе начальной загрузки (при запуске) система загружается и начинает выполняться ее ядро, затем запускается ряд инициализационных задач. После этого система готова к обслуживанию пользователей.

Начальная загрузка - это период особой уязвимости в жизни системы. Ошибки в конфигурационных файлах, сбои в работе оборудования, повреждения файловых систем могут помешать компьютеру нормально начать работу. Настройка режимов загрузки во многих случаях является одной из первых задач, которую приходится выполнять администратору в новой системе.

FreeBSD может загружаться либо в автоматическом, либо в ручном режиме. В автоматическом режиме система загружается самостоятельно, без какого-либо вмешательства извне. В ручном режиме до определенного момента система также загружается автоматически, но перед выполнением основных инициализирующих командных файлов (сценариев) управление передается администратору. В это время система находится в так называемом "однопользовательском режиме". Большинство системных процессов не выполняется, и вход других пользователей в систему невозможен.

Процесс начальной загрузки состоит из этапов:

  • загрузка и инициализация ядра;
  • распознавание и конфигурирование устройств;
  • создание системных процессов;
  • выполнение команд администратора (при ручной загрузке);
  • выполнение командных файлов запуска системы;
  • переход в многопользовательский режим.

Инициализация ядра

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

Конфигурация аппаратных средств

Одна из первых задач, стоящих перед ядром, - выявление компонентов аппаратного обеспечения. Создавая ядро для своей системы, Вы можете задать, какие устройства оно должно проверять. Когда ядро начинает выполняться, оно пытается найти и инициализировать все устройства, о которых Вы ему сообщили.
О каждом обнаруженном устройстве ядро выводит на консоль краткую информацию.

Системные процессы

После завершения базовой инициализации ядро создает в области памяти, выделенной для процедур пользователя, несколько процессов.

swapper - процесс 0;

init - процесс 1;

pagedaemon - процесс 2.

Из всех процессов только init является полноценным пользовательским процессом; остальные фактически представляют собой части ядра операционной системы, которые выглядят как процессы.

Если систему нужно запустить в однопользовательском режиме, администратор на запрос boot: в командной строке вводит -s, а ядро передает информацию процессу init. При загрузке в однопользовательском режиме init просто запускает на системной консоли интерпретатор команд и ждет, пока он завершит работу (после нажатия Ctrl + D или ввода команды exit), а затем продолжает выполнять процесс запуска. В однопользовательском режиме всегда используется интерпретатор sh.

В однопользовательском режиме администратор может выполнять команды почти так же, как и в многопользовательском. Однако автоматически монтируется только раздел диска с корневым каталогом. Другие файловые системы администратор должен смонтировать вручную. Демоны в однопользовательском режиме еще не запущены, поэтому команды, зависящие от некоторых обслуживающих процессов (например, mail), работать не будут.

Команда fsck, которая проверяет и восстанавливает поврежденные файловые системы, обычно выполняется в процессе автоматической загрузки. Если система запускается в однопользовательском режиме, команду fsck нужно запустить вручную.


Содержание раздела