Представлен релиз системы инициализации Upstart 1.6, изначально разработанной в 2006 году компанией Canonical и ныне используемой в дистрибутивах Ubuntu и RedHat Enterprise Linux 6, а также в проектах Maemo, Chrome OS и webOS. В отличии от стандартной init-системы SysV, Upstart базируется на парадигме обработки событий, работает в асинхронном режиме и использует метод учета зависимостей для определения последовательности запуска сервисов и оценки возможности их выполнения в параллельном режиме. Параллелизм запуска сервисов обеспечивает существенное повышение скорости загрузки, но ценой этому является необходимость определенной переработки init-скриптов (поддерживается режим совместимости, позволяющий запускать обычные sysvinit-скрипты, но эффективность загрузки и работы при этом теряется).
В новой версии:
- Улучшена обработка ошибок;
- Добавлен поддержка загрузки без initramfs;
- Обеспечена работа тестов в окружении sbuild;
- Режим 'telinit u' теперь выполняет перезапуск Upstart с сохранением состояния, что позволяет продолжить контроль за выполнением задач после обновления самого Upstart или связанных с ним библиотек;
- В список зависимостей добавлена библиотека libjson (JSON-C); * Added initramfs-less boot support. * Allow tests to work in sbuild environment. * Improved error handling.
Особенности Upstart:
- Запуск и остановка задач и сервисов производится через генерацию события. Например, Upstart может запустить определенные сервисы после подключения к системе дополнительного устройства и завершить после его отключения;
- События генерируются при запуске или остановке задач и сервисов, что позволяет организовать привязку к ним других задач и сервисов;
- События могут быть получены от любого другого процесса в системе;
- Сервисы могут быть автоматически перезапущены при их непредвиденном завершении;
- Наблюдение и перезапуск демонов может производиться раздельно от их родительских процессов;
- Связь с управляющим init-процессом может осуществляться посредством D-Bus;
- Генерация событий в промежутки времени или через определенные интервалы, а также при изменении файлов или директорий.