Upstart — система ініціалізації в операційних системах Linux, що підтримувалася до 2014 року. Система контролювала запуск завдань та служб (демонів) протягом завантаження системи, їхню зупинку, а також управління ними під час роботи системи. Upstart розглядався як заміна демона /sbin/init.

Upstart
Upstart logo
Тип демон ініціалізації
Автор Scott James Remnant
Розробник Canonical Ltd.
Перший випуск 24 серпня 2006
Стабільний випуск 1.13 (11 липня 2014; 9 років тому (2014-07-11))
Версії 1.13.2 (4 вересня 2014)[1]
Операційна система Linux
Мова програмування C
Ліцензія GNU General Public License
Репозиторій code.launchpad.net/upstart
Вебсайт 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).

Виноски ред.

Посилання ред.