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).
