Описание тега upstart

Upstart - это основанная на событиях замена для демона /sbin/init, который обрабатывает запуск задач и служб во время загрузки, останавливает их при завершении работы и контролирует их во время работы системы.

Upstart был создан из-за фундаментальных ограничений в существующих системах. Эти системы можно разделить на два типа:

  • Система V init system
  • Системы инициализации на основе зависимостей

Необходимо было очертить ограничения систем инициализации SysV и зависимостей, чтобы понять, почему Upstart особенный...

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

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

Кроме того, Upstart руководствуется главным арбитром аппаратных устройств: ядром.

По сути, Upstart - это механизм событий: он создает события, обрабатывает последствия этих событий и запускает и останавливает процессы по мере необходимости. Как и лучшее программное обеспечение Unix, оно отлично справляется с этой задачей. Это эффективно, быстро, гибко и надежно. Он использует "вспомогательные" демоны (такие как upstart-udev-bridge и upstart-socket-bridge) для внедрения новых типов событий в систему и реагирования на эти события. Такая конструкция разумна и чиста: сама система init не должна подвергаться риску, поскольку в случае сбоя ядро ​​паникует. Поэтому любая функциональность, которая не считается "основной", передается другим демонам.

Смотрите больше в кулинарной книге Upstart