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