Upstart
Upstart — система ініціалізації в операційних системах Linux, заснована на подіях. Система ініціалізації контролює запуск завдань та служб (демонів) протягом завантаження системи, їхню зупинку, а також управління ними під час роботи системи. Upstart розглядається як заміна демона /sbin/init.
Тип | демон ініціалізації |
---|---|
Автор(и) | Scott James Remnant |
Розробник | Canonical Ltd. |
Перший випуск | 24 серпня 2006 |
Стабільний випуск | 1.13 (11 липня 2014 ) |
Версії | 1.13.2 (4 вересня 2014)[1] |
Репозиторій | code.launchpad.net/upstart |
Операційна система | Linux |
Мова програмування | C |
Ліцензія | GNU General Public License |
Вебсайт | upstart.ubuntu.com |
Спочатку Upstart був розроблений для дистрибутиву Ubuntu компанією Canonical, нині використовується в дистрибутивах Ubuntu і RedHat Enterprise Linux 6, а також у проектах Maemo, Chrome OS і webOS. На відміну від стандартної init-системи SysV, Upstart базується на парадигмі обробки подій, працює в асинхронному режимі і використовує метод обліку залежностей для визначення послідовності запуску сервісів та оцінки можливості їхнього виконання в паралельному режимі. Паралелізм запуску сервісів забезпечує істотне підвищення швидкості завантаження, але ціною цього є необхідність певної переробки init-скриптів (підтримується режим сумісності, який дозволяє запускати звичайні sysvinit-скрипти, але ефективність завантаження і роботи при цьому втрачається).
Згодом деякі техніки Upstart були запозичені системою ініціалізації SysVinit та новішою системою systemd.
Можливості
- Запуск і зупинка завдань і сервісів проводиться через генерацію події. Наприклад, Upstart може запустити певні сервіси після підключення до системи додаткового пристрою і завершити після його відключення;
- Події генеруються під час запуску або зупинки завдань і сервісів, що дозволяє організувати прив'язку до них інших завдань і сервісів;
- Події можуть бути отримані від будь-якого іншого процесу в системі;
- Можна організовувати свої події
- Сервіси можуть бути автоматично перезапущений при їхньому непередбаченому завершенні;
- Спостереження і перезапуск демонів може проводитися роздільно від їхніх батьківських процесів;
- Зв'язок з керуючим init-процесом може здійснюватися за допомогою D-Bus;
- Плановані можливості: генерація подій в проміжки часу або через певні інтервали (вбудований аналог cron), а також при зміні файлів або тек (вбудований аналог incron).