Системы инициализации Linux

Системы инициализации (набор скриптов, которые выполняются при загрузке системы): init, systemd.

Системы инициализации Linux: System V, BSD, systemd, Upstart.

Система инициализации Linux — это набор скриптов, выполняющихся при старте системы. Скрипты написаны на языке shell-script классического Boure Shell (Оболочка sh Bourne shell). Исторически сложилось так, что существует две системы инициализации:

Они отличаются друг от друга организацией стартовых скриптов: как они называются, в каких директориях располагаются, последовательность вызова и т.д.

Последовательность действий при старте компьютера:

BIOS -> загрузчик -> ядро -> init

При запуске PC совместимого компьютера происходит следующая последовательность действий:

  1. выполняется BIOS компьютера;
  2. запускается загрузчик операционной системы – LILO, Введение Grub2 или любой другой;
  3. загружается ядро Linux.

Ядро стартует и кроме основных действий подключает корневую файловую систему в режиме только для чтения, а так же запускает самую первую программу в системе - init. То есть, в результате мы имеем:

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

До этого момента ещё не важно какая система инициализации используется. Не зависимо от неё во всех Linux сначала запускается init. А вот какая система инициализации будет использоваться в дальнейшем зависит от того как сконфигурирован init.

init (initialization)

Сценарии инициализации системы "SysV init scripts" (/etc/init.d) отвечает за запуск системы (сервисов) и выключение сервисов и самой ОС. Этот стандарт берет свое начало от операционной системы AT&T UNIX System V, выпущенной в в 1989 г.

init - самая первая запускаемая программа в ОС Linux (PID 1). Файл inittab является конфигурационным файлом программы init.

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