Представлен первый стабильный релиз системы инициализации Upstart 1.0
Анонсирован выход разработанной в недрах Linux-дистрибутива Ubuntu системы инициализации Upstart 1.0. Релиз 1.0 ознаменовал собой доведение до стабильного состояния всех возможностей, необходимых для работы полнофункциональной системы инициализации. Релиз 1.0 основан на кодовой базе Upstart 0.6.x, которая обеспечивает работу подсистемы инициализации в Ubuntu 10.04 и RedHat Enterprise Linux 6, поэтому обновление данных системах Upstart до версии 1.0 не приведет к возникновению каких-либо подводных камней.Upstart поставляется в составе Ubuntu начиная с версии 6.10, вышедшей осенью 2006 года. Кроме RHEL и Ubuntu, Upstart задействован в таких системах, как Maemo, webOS, Chrome OS и Fedora (в Fedora 15 запланирована миграция на systemd). Автор и главный разработчик Upstart работает в компании Google. В отличии от стандартной init-системы SysV, Upstart базируется на парадигме обработки событий, работает в асинхронном режиме и использует метод учета зависимостей для определения последовательности запуска сервисов и оценки возможности их выполнения в параллельном режиме. Параллелизм запуска сервисов обеспечивает существенное повышение скорости загрузки, но ценой этому является необходимость определенной переработки init-скриптов (поддерживается режим совместимости, позволяющий запускать обычные sysvinit-скрипты, но эффективность загрузки при этом теряется).
Особенности Upstart:
- Запуск и остановка задач и сервисов производится через генерацию события. Например, Upstart может запустить определенные сервисы после подключения к системе дополнительного устройства и завершить после его отключения;
- События генерируются при запуске или остановке задач и сервисов, что позволяет организовать привязку к ним других задач и сервисов;
- События могут быть получены от любого другого процесса в системе;
- Сервисы могут быть автоматически перезапущены при их непредвиденном завершении;
- Наблюдение и перезапуск демонов может производится раздельно от их родительских процессов;
- Связь с управляющим init-процессом может осуществляться посредством D-Bus;
- Генерация событий в промежутки времени или через определенные интервал; генерация событий при изменении файлов или директорий.
© OpenNet