Upstart

initデーモンの代替となるソフトウェア ウィキペディアから

Upstartは、いくつかのUnix系コンピュータオペレーティングシステムで起動時にタスクを実行する手法として古くから備わるinitデーモンの代わりとなるもので、イベント駆動型である点に特徴がある。Upstartは、当時カノニカルの従業員であったスコット・ジェームズ・レムナントが開発した。

概要 作者, 開発元 ...
Upstart
Thumb
作者 スコット・ジェームズ・レムナント
開発元 カノニカル
初版 2006年8月24日 (18年前) (2006-08-24)
最新版
1.13.2[1] / 2014年9月4日 (10年前) (2014-09-04)
リポジトリ
プログラミング
言語
C言語
対応OS Linux
サポート状況 開発終了
種別 initデーモン
ライセンス GPLv2
公式サイト upstart.ubuntu.com
テンプレートを表示
閉じる

原理の説明

元々古くから備わるinitプロセスは、電源オンの後にコンピュータを通常の起動状態にすることや、シャットダウン前にきちんとサービスを終了することにしか責任を持たなかった。このため、前記の設計により現在のタスクが完了するまで将来のタスクは厳格に同期化され、さらにブロックされてしまう。さらに準備やクリーンアップ機能による制限を受けるため、これらのタスクはあらかじめ定義されねばならない。これでは現代のデスクトップコンピュータにおけるスタートアップ以外の、以下に挙げるような様々なタスクを簡潔に処理できなくなる:

  • マシン起動中におけるUSBフラッシュドライブなどのポータブルストレージやネットワークデバイスの脱着。
  • システムロックなしの、特にディスクがスキャンされるまで電源すらオンになっていない場合における新規ストレージデバイスの発見とスキャン。
  • デバイス用ファームウェアのロード。ロードはデバイスが発見された後かつデバイスが使えない前に行わなければならないはずである。

Upstartのイベント駆動型モデルにより、イベント生成とは非同期にイベント応答ができる[2]

設計

Upstartはブート時のタスクとサービスの起動とシャットダウン時のタスクとサービスの停止を非同期に行い、システム動作中にはタスクとサービスの管理も行う。

System V initとの完全な後方互換性を保ち、容易に移行可能であることが設計目標であった[3]。そのため、既存のSystem V init用スクリプトを無修正で実行可能である。いつも正常起動への完全な移行を仮定し要求するが、スタートアップの古くから備わる手法と新しい手法とが混在した環境をサポートしない大半の他のinit代替手法(systemdOpenRCなど)とそういった点で異なる[4]

Upstartは多くのイベントやより複雑なイベントをまとめるために、入力カスタム、シングルイベント、またはイベントブリッジ用のinitctlを使うことでイベントモデルを拡張できる.[5]。Upstartにはデフォルトでsocket、dbus、udev、fileおよびdconfイベントへのブリッジが含まれる。必要に応じてより多くのブリッジが利用できる[6]

採用

要約
視点

Upstartをデフォルトのinitシステムとして使用する、LinuxカーネルをベースとしたLinuxディストリビューションやそれ以外のオペレーティングシステム:

  • UpstartはSystem V initの代替として2006年後半、Ubuntu 6.10 (Edgy Eft) リリースで最初に導入された。Ubuntu 9.10 (Karmic Koala) はAlpha 6のネイティブUpstartブートアップを導入した[7]。続いてDebianプロジェクトが2014年、将来のリリースにsystemdの採用を決めた後、マーク・シャトルワースは上流との調和を維持するためにsystemd自体へと移行する計画をUbuntuは開始したとアナウンスした[8]
  • UpstartはChromeOSChromium OSで使われている[9]

Upstartをある程度サポートするかしていたが、デフォルトinitシステムとしての使用をやめたか既に使用していないLinuxディストリビューション:

  • Debianjessieリリース立ち上げ時にデフォルトinitシステムをUpstartへ切り替えることを検討したが[10]、systemdへ切り替えることになった[11]。Upstartは結局2015年12月にDebianアーカイブから削除された[12]
  • UbuntuUbuntu Touchを除くバージョン15.04 (Vivid Vervet) において、デフォルトinitシステムのsystemdへの置き換えを完了した[13]
  • Fedora 9でSystem V initはUpstartに置き換えられたが、Fedora 15ではUpstartはsystemdに置き換えられた[14][15]
  • レッドハットRed Hat Enterprise Linux (RHEL) 6でUpstartを導入した[16]。そのため、CentOSScientific LinuxおよびOracle LinuxといったRHEL 6派生でもUpstartが使われている。RHEL 7ではUpstartの代わりにsystemdが使われている[17][18]
  • openSUSEはバージョン11.3 Milestone 4でUpstartを導入したが、デフォルトではなかった[19]。openSUSE 12.1のデフォルトinitシステムとして、Upstartの代わりにsystemdが使われた[20]
  • UpstartはHP TouchPad英語版タブレット用や、Palm Pre英語版Palm Pixi英語版(共にパームがHPに買収される以前より)、HP Veer英語版およびHP Pre 3英語版スマートフォン用のHP webOSで使われている[21]
  • ノキアのインターネットタブレット用のMaemo 5ではsysvinitをUpstartに置き換えた[22]

関連項目

  • Initng initの非同期型代替実装の1つ
  • Launchd Mac OS X v10.4でinitなどのシステム起動スクリプトおよびcronの代替として導入された。
  • OpenRC
  • オペレーティングシステムサービス管理
  • Service Management Facility英語版
  • systemd

脚注

外部リンク

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.