Система инициализации
Первый процесс, который запускает ядро, и предок всех остальных, — PID 1.
Смонтировав корневую файловую систему, ядро запускает единственную программу, и из неё вырастает вся система. Init запускает службы в нужном порядке, перезапускает упавшие и усыновляет осиротевшие процессы, чтобы их корректно «пожинали». Если PID 1 умирает, ядро впадает в панику.
Классический SysV init последовательно выполнял пронумерованные shell-скрипты: понятно, но медленно, и зависимости в такой схеме выразить трудно. В 2010-х systemd занял большинство дистрибутивов — с параллельным запуском, активацией по сокетам и единым форматом журнала — и стал одной из самых ожесточённых войн в open source, ведь вырос он далеко за пределы роли init. В контейнерах PID 1 часто само приложение, поэтому обработка сигналов там может вести себя неожиданно.