Что такое система init

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

Запуск init происходит после вызова ядром определенного файла, который обычно находится в /etc/inittab, /etc/ttytab или /etc/ttys. После этого, init получает список портов, через которые можно ожидать вход в систему. Далее порты активизируются и для каждого из них создается процесс getty. В конечном итоге init запускает фоновые процессы в виде демонов. В большинстве случаев демоны находятся в /etc/init.d/.

Новый процесс в UNIX создается путем копирования уже существующего в виде потомка, а также системного вызова exec для запуска новой программы. Новый процесс-потомок практически идентичен родительскому, отличием являются только
ID процесса и еще несколько других пунктов. Демоны работают отдельно от терминала и практически всегда создаются с помощью init.

Init поддерживает разные уровни выполнения, определяющие перечень системных ресурсов, которые будут задействованы. Обычно это уровни запуска 0-6 и s-уровень (однопользовательский режим), описание которых находится в /etc/inittab.

Начальный уровень выполнения передается init загрузчиком. Далее, основываясь на записях в /etc/inittab, выполняются соответствующие команды. Для изменения уровня выполнения используется команда telinit (например telinit 3 или telinit -q, позволяющий повторно перечитать /etc/inittab).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *