Upstart

Upstartは、いくつかのUnix系コンピュータオペレーティングシステムで起動時にタスクを実行する手法として古くから備わるinitデーモンの代わりとなるもので、イベント駆動型である点に特徴がある。Upstartは、当時カノニカルの従業員であったスコット・ジェームズ・レムナント（英語版）が開発した。 元々古くから備わるinitプロセスは、電源オンの後にコンピュータを通常の起動状態にすることや、シャットダウン前にきちんとサービスを終了することにしか責任を持たなかった。このため、前記の設計により現在のタスクが完了するまで将来のタスクは厳格に同期化され、さらにブロックされてしまう。さらに準備やクリーンアップ機能による制限を受けるため、これらのタスクはあらかじめ定義されねばならない。これでは現代のデスクトップコンピュータにおけるスタートアップ以外の、以下に挙げるような様々なタスクを簡潔に処理できなくなる: マシン起動中におけるUSBフラッシュドライブなどのポータブルストレージやネットワークデバイスの脱着。 システムロックなしの、特にディスクがスキャンされるまで電源すらオンになっていない場合における新規ストレージデバイスの発見とスキャン。 デバイス用ファームウェアのロード。ロードはデバイスが発見された後かつデバイスが使えない前に行わなければならないはずである。 Upstartのイベント駆動型モデルにより、イベント生成とは非同期にイベント応答ができる。 Upstartはブート時のタスクとサービスの起動とシャットダウン時のタスクとサービスの停止を非同期に行い、システム動作中にはタスクとサービスの管理も行う。 System V initとの完全な後方互換性を保ち、容易に移行可能であることが設計目標であった。そのため、既存のSystem V init用スクリプトを無修正で実行可能である。いつも正常起動への完全な移行を仮定し要求するが、スタートアップの古くから備わる手法と新しい手法とが混在した環境をサポートしない大半の他のinit代替手法（systemdやOpenRCなど）とそういった点で異なる。 Upstartは多くのイベントやより複雑なイベントをまとめるために、入力カスタム、シングルイベント、またはイベントブリッジ用のinitctlを使うことでイベントモデルを拡張できる.。Upstartにはデフォルトでsocket、dbus、udev、fileおよびdconfイベントへのブリッジが含まれる。必要に応じてより多くのブリッジが利用できる。 Upstartをデフォルトのinitシステムとして使用する、LinuxカーネルをベースとしたLinuxディストリビューションやそれ以外のオペレーティングシステム: UpstartはSystem V initの代替として2006年後半、Ubuntu 6.10 (Edgy Eft) リリースで最初に導入された。Ubuntu 9.10 (Karmic Koala) はAlpha 6のネイティブUpstartブートアップを導入した。続いてDebianプロジェクトが2014年、将来のリリースにsystemdの採用を決めた後、Mark Shuttleworthは上流との調和を維持するためにsystemd自体へと移行する計画をUbuntuは開始したとアナウンスした。 UpstartはChromeOSやChromium OSで使われている。 Upstartをある程度サポートするかしていたが、デフォルトinitシステムとしての使用をやめたか既に使用していないLinuxディストリビューション: Debianはjessieリリース立ち上げ時にデフォルトinitシステムをUpstartへ切り替えることを検討したが、systemdへ切り替えることになった。Upstartは結局2015年12月にDebianアーカイブから削除された。 UbuntuはUbuntu Touchを除くバージョン15.04 (Vivid Vervet) において、デフォルトinitシステムのsystemdへの置き換えを完了した。 Fedora 9でSystem V initはUpstartに置き換えられたが、Fedora 15ではUpstartはsystemdに置き換えられた。 レッドハットはRed Hat Enterprise Linux (RHEL) 6でUpstartを導入した。そのため、CentOS、Scientific LinuxおよびOracle LinuxといったRHEL 6派生でもUpstartが使われている。RHEL 7ではUpstartの代わりにsystemdが使われている openSUSEはバージョン11.3 Milestone 4でUpstartを導入したが、デフォルトではなかった。openSUSE 12.1のデフォルトinitシステムとして、Upstartの代わりにsystemdが使われた。 UpstartはHP TouchPadタブレット用や、Palm Pre、Palm Pixi（共にパームがHPに買収される以前より）、HP VeerおよびHP Pre 3スマートフォン用のHP webOSで使われている。 ノキアのインターネットタブレット用のMaemo 5ではsysvinitをUpstartに置き換えた。 ポータル FLOSS Initng — initの非同期型代替実装の1つ Launchd — Mac OS X v10.4でinitなどのシステム起動スクリプトおよびcronの代替として導入された。 OpenRC オペレーティングシステムサービス管理 Service Management Facility（英語版） systemd ^ “［Branch ~upstart-devel/upstart/trunk］ Rev 1662: * NEWS: Release 1.13.2”. Ubuntu.com (2014年9月4日). 2017年1月18日閲覧。 ^ Remnant, Scott James (2006年8月26日). “Upstart in Universe”. Netsplit. 2009年9月12日閲覧。[リンク切れ] ^ Launch Pad, Ubuntu, https://bugs.launchpad.net/ubuntu/+source/upstart/+bug/605007  ^ “Discussion of design and implementation of Upstart”, Ubuntu Wiki, カノニカル, https://wiki.ubuntu.com/ReplacementInit  ^ “The Upstart Cookbook”. カノニカル. 26 January 2014閲覧。 ^ “The Upstart Cookbook: Bridges”. カノニカル. 26 January 2014閲覧。 ^ “Upstart”, About (Ubuntu), http://www.ubuntulinux.org/testing/karmic/alpha6#Upstart  ^ Shuttleworth, Mark. “Losing graciously”. 22 March 2014時点のオリジナルよりアーカイブ。14 February 2014閲覧。 ^ Software Architecture: Chromium OS design documents, Google, https://sites.google.com/a/chromium.org/dev/chromium-os/chromiumos-design-docs/software-architecture 25 January 2014閲覧。  ^ Petter Reinholdtsen (2009-09-05), The future of the boot system in Debian, Debian.org, http://lists.debian.org/debian-devel-announce/2009/09/msg00003.html  ^ The Debian technical committee vote concludes, Lwn.net, (2014-02-11), https://lwn.net/Articles/585363/ 2014年2月11日閲覧。  ^ RM: upstart -- RoQA; unmaintained, debian.org, (2015-12-18), https://packages.qa.debian.org/u/upstart/news/20160111T052637Z.html 2016年1月26日閲覧。  ^ VividVervet/ReleaseNotes, (2015-04-24), https://wiki.ubuntu.com/VividVervet/ReleaseNotes  ^ Fedora 14 Accepted Features, (2010-07-13), https://fedoraproject.org/wiki/Releases/14/FeatureList 2010年7月13日閲覧。  ^ “Fedora defers systemd to F15”. Linux Weekly News (2010年9月14日). 2010年9月17日閲覧。 ^ “Deployment”. Red Hat Enterprise Linux 6: Technical Notes. レッドハット. 2013年12月31日閲覧。 ^ Poettering, Lennart (2013-06-19), Red Hat Summit talk about systemd in RHEL 7 is now available online, Google Plus, https://plus.google.com/+LennartPoetteringTheOneAndOnly/posts/cBYAcrNZcz9 2013年12月31日閲覧。  ^ Tim Burke (2012-06-27), “Red Hat Enterprise Linux Roadmap Highlights” (PDF), presentation, http://rhsummit.files.wordpress.com/2012/03/burke_rhel_roadmap.pdf  ^ OpenSUSE gets an Upstart, The H, (2010-03-26), オリジナルの8 December 2013時点におけるアーカイブ。, https://web.archive.org/web/20131208184815/http://www.h-online.com/open/news/item/OpenSUSE-gets-an-Upstart-964636.html 2010年4月4日閲覧。  ^ Chris von Eitzen (2011-11-16), openSUSE 12.1 arrives with systemd and Btrfs, The H, オリジナルの20 April 2012時点におけるアーカイブ。, https://web.archive.org/web/20120420063250/http://www.h-online.com/open/news/item/openSUSE-12-1-arrives-with-systemd-and-Btrfs-1380033.html 2011年11月16日閲覧。  ^ Garrett, Matthew (2009-06-10), Palm Pre, オリジナルの2009-12-23時点におけるアーカイブ。, https://web.archive.org/web/20091223142117/http://mjg59.livejournal.com/111453.html 2009年7月9日閲覧。  ^ Fremantle, Maemo, http://wiki.maemo.org/Task:Maemo_roadmap/Fremantle 2009年8月24日閲覧。  公式ウェブサイト Upstart - Launchpad Upstart Cookbook Upstart Cookbook Initシステム比較: その1およびその2 (LWN.net) Initシステム比較表