Upstart
|
作者 |
Scott James Remnant |
開発元 |
カノニカル |
初版 |
2006年8月24日(10年前) (2006-08-24) |
最新版 |
1.13[1] / 2014年7月11日(2年前) (2014-07-11) |
プログラミング言語 |
C言語 |
対応OS |
Linux |
サポート状況 |
開発終了 |
種別 |
initデーモン |
ライセンス |
GPLv2 |
公式サイト |
upstart.ubuntu.com |
テンプレートを表示 |
Upstartは、いくつかのUnix系コンピュータオペレーティングシステムで起動時にタスクを実行する手法として古くから備わるinitデーモンの代わりとなるもので、イベント駆動型である点に特徴がある。Upstartは、当時カノニカルの従業員であったスコット・ジェームズ・レムナント(英語版)が開発した。
目次
- 1 原理の説明
- 2 設計
- 3 採用
- 4 関連項目
- 5 脚注
- 6 外部リンク
原理の説明
元々古くから備わるinitプロセスは、電源オンの後にコンピュータを通常の起動状態にすることや、シャットダウン前にきちんとサービスを終了することにしか責任を持たなかった。このため、前記の設計により現在のタスクが完了するまで将来のタスクは厳格に同期化され、さらにブロックされてしまう。さらに準備やクリーンアップ機能による制限を受けるため、これらのタスクはあらかじめ定義されねばならない。これでは現代のデスクトップコンピュータにおけるスタートアップ以外の、以下に挙げるような様々なタスクを簡潔に処理できなくなる:
- マシン起動中におけるUSBフラッシュドライブなどのポータブルストレージやネットワークデバイスの脱着。
- システムロックなしの、特にディスクがスキャンされるまで電源すらオンになっていない場合における新規ストレージデバイスの発見とスキャン。
- デバイス用ファームウェアのロード。ロードはデバイスが発見された後かつデバイスが使えない前に行わなければならないはずである。
Upstartのイベント駆動型モデルにより、イベント生成とは非同期にイベント応答ができる[2]。
設計
Upstartはブート時のタスクとサービスの起動とシャットダウン時のタスクとサービスの停止を非同期に行い、システム動作中にはタスクとサービスの管理も行う。
System V initとの完全な後方互換性を保ち、容易に移行可能であることが設計目標であった[3]。そのため、既存のSystem V init用スクリプトを無修正で実行可能である。いつも正常起動への完全な移行を仮定し要求するが、スタートアップの古くから備わる手法と新しい手法とが混在した環境をサポートしない大半の他のinit代替手法とは(systemdやOpenRCと比べて)そういった点で異なる[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の採用を決めた後、Mark Shuttleworthは上流との調和を維持するためにsystemd自体へと移行する計画をUbuntuは開始したとアナウンスした[8]。
- UpstartはGoogle Chrome OSやChromium OSで使われている[9]。
Upstartをある程度サポートするかしていたが、デフォルトinitシステムとしての使用をやめたか既に使用していないLinuxディストリビューション:
- Debianはjessieリリース立ち上げ時にデフォルトinitシステムをUpstartへ切り替えることを検討したが[10]、systemdへ切り替えることになった[11]。
- UbuntuはUbuntu Touchを除くバージョン15.04において、デフォルトinitシステムのsystemdへの置き換えを完了した[12]。
- Fedora 9でSystem V initはUpstartに置き換えられたが、Fedora 15ではUpstartはsystemdに置き換えられた[13][14]。
- レッドハットはRed Hat Enterprise Linux (RHEL) 6でUpstartを導入した[15]。そのため、CentOS、Scientific LinuxおよびOracle LinuxといったRHEL 6派生でもUpstartが使われている。RHEL 7ではUpstartの代わりにsystemdが使われている[16][17]
- openSUSEはバージョン11.3 Milestone 4でUpstartを導入したが、デフォルトではなかった[18]。openSUSE 12.1のデフォルトinitシステムとして、Upstartの代わりにsystemdが使われた[19]。
- UpstartはHP TouchPadタブレット用や、Palm Pre、Palm Pixi(共にパームがHPに買収される以前より)、HP VeerおよびHP Pre 3スマートフォン用のHP webOSで使われている[20]。
- ノキアのインターネットタブレット用のMaemo 5ではsysvinitをUpstartに置き換えた[21]。MeeGoがMoblinを統合してsystemdに移行したにも関わらず、N9およびN950ハンドセットのMeeGoではUpstartのままだった[要出典]。
関連項目
- Initng — initの非同期型代替実装の1つ
- Launchd — Mac OS X v10.4でinitなどのシステム起動スクリプトおよびcronの代替として導入された。
- OpenRC
- オペレーティングシステムサービス管理
- Service Management Facility
- systemd
脚注
- ^ “Upstart 1.13 released”. Ubuntu.com. 2014年7月12日閲覧。
- ^ 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”. カノニカル. 2014年1月26日閲覧。
- ^ “The Upstart Cookbook: Bridges”. カノニカル. 2014年1月26日閲覧。
- ^ “Upstart”, About (Ubuntu), http://www.ubuntulinux.org/testing/karmic/alpha6#Upstart
- ^ Shuttleworth, Mark. “Losing graciously”. 2014年2月14日閲覧。
- ^ Software Architecture: Chromium OS design documents, Google, https://sites.google.com/a/chromium.org/dev/chromium-os/chromiumos-design-docs/software-architecture 2014年1月25日閲覧。
- ^ 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), http://lwn.net/Articles/585363/ 2014年2月11日閲覧。
- ^ 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日閲覧。
- ^ Lennart Poettering (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時点によるアーカイブ。, http://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時点によるアーカイブ。, http://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, http://mjg59.livejournal.com/111453.html 2009年7月9日閲覧。
- ^ Fremantle, Maemo, http://wiki.maemo.org/Task:Maemo_roadmap/Fremantle 2009年8月24日閲覧。
外部リンク
- ホームページ
- Launchpad上のUpstart
- Upstart Cookbook
- Upstart Cookbook
- Initシステム比較: その1およびその2 (LWN.net)
- Initシステム比較表
Ubuntu |
主要項目 |
- カノニカル
- バージョン
- Ubuntu (哲学)
- Ubuntu財団
|
人物 |
- ジョノ・ベーコン
- ベン・コリンズ
- ベンジャミン・マコ・ヒル
- イアン・ジャクソン
- スコット・ジェームズ・レムナント
- マーク・シャトルワース
- ジェフ・ウォー
- マット・ジマーマン
- ジェーン・シルバー
|
公式プロジェクト |
- Edubuntu
- Gobuntu (Desktop Editionに統合され廃止)
- Kubuntu
- Lubuntu
- Mythbuntu
- Ubuntu for Android
- Ubuntu GNOME
- Ubuntu JeOS (Ubuntu Serverの標準機能になり廃止)
- Ubuntu Mobile(プロジェクト終了)
- Ubuntu Netbook Edition (Desktop Editionに統合され廃止)
- Ubuntu Server
- Ubuntu Studio
- Ubuntu TV
- Ubuntu Touch
- Xubuntu
- Ubuntu Edge
- Ubuntu MATE
|
ソフトウェア・
サポート |
- Bazaar
- Gdebi
- Launchpad
- Medibuntu
- Mirディスプレイサーバ
- OpenCD
- Ubuntuソフトウェアセンター
- Restricted extras
- Ubiquity
- Ubuntu Certified Professional
- Ubuntu One
- Uncomplicated Firewall
- Unityシェル
- Update Manager
- Upstart
- Usplash
- Wubi
- XSplash
- ファイル
|
フォント |
- Ubuntu Font Family
- Ubuntu-Title
|
メディア |
- Full Circle Magazine
- Ubuntu User
|
関連項目 |
|
関連ソフトウェア |
- debフォーマット
- dpkg
- APT
- aptitude
- debconfパッケージ
- dash
|
|
For other uses, see Upstart (disambiguation).
Upstart
|
Original author(s) |
Scott James Remnant |
Developer(s) |
Canonical Ltd. |
Initial release |
August 24, 2006; 10 years ago (2006-08-24) |
|
Stable release |
1.13[1] / July 11, 2014; 2 years ago (2014-07-11)
|
Written in |
C |
Operating system |
Linux |
Type |
Init daemon |
License |
GPLv2 |
Website |
upstart.ubuntu.com |
Upstart is an event-based replacement for the traditional init daemon – the method by which several Unix-like computer operating systems perform tasks when the computer is started. It was written by Scott James Remnant, a former employee of Canonical Ltd.
Contents
- 1 Rationale
- 2 Design
- 3 Adoption
- 4 See also
- 5 References
- 6 External links
Rationale
The traditional init process was originally only responsible for bringing the computer into a normal running state after power-on, or gracefully shutting down services prior to shutdown. As a result, the design is strictly synchronous, blocking future tasks until the current one has completed. Its tasks must also be defined in advance, as they are limited to this prep or cleanup function. This leaves it unable to handle various non-startup-tasks on a modern desktop computer elegantly, including:
- The addition or removal of USB flash drives and other portable storage / network devices while the machine is running
- The discovery and scanning of new storage devices, without locking the system, especially when a disk may not even power on until it is scanned
- The loading of firmware for a device, which may need to occur after it is detected but before it is usable
Upstart's event-driven model allows it to respond to events asynchronously as they are generated.[2]
Design
Upstart operates asynchronously; it handles starting of the tasks and services during boot and stopping them during shutdown, and also supervises the tasks and services while the system is running.
Easy transition and perfect backwards compatibility with sysvinit were the explicit design goals;[3] accordingly, Upstart can run unmodified sysvinit scripts. In this way it differs from most other init replacements (beside systemd and OpenRC), which usually assume and require complete transition to run properly, and do not support a mixed environment of traditional and new startup methods.[4]
Upstart allows for extensions to its event model through the use of initctl to input custom, single events, or event bridges to integrate many or more-complicated events.[5] By default, Upstart includes bridges for socket, dbus, udev, file, and dconf events; additionally, more bridges are possible.[6]
Adoption
Linux distributions and other operating systems based on the Linux kernel which use Upstart as the default init system:
- Upstart was first included in Ubuntu in the 6.10 (Edgy Eft) release in late 2006, replacing sysvinit. Ubuntu 9.10 (Karmic Koala) introduced native Upstart bootup as of Alpha 6.[7] In turn, after the Debian project decided to adopt systemd on a future release in 2014, Mark Shuttleworth announced that Ubuntu would begin plans to migrate to systemd itself to maintain consistency with upstream.[8]
- Upstart is used in Google's Chrome OS and Chromium OS.[9]
Linux distributions that support or have supported Upstart to some extent, but moved away since or no longer use it as their default init system:
- Debian decided that systemd will be the default init system beginning with the jessie release,[10] after considering switching to Upstart.[11] It was eventually removed from the Debian archives in December 2015.[12]
- Ubuntu finished the switch to systemd as its default init system in version 15.04 (Vivid Vervet), with the exception of Ubuntu Touch.[13]
- In Fedora 9, Upstart replaced sysvinit, however, systemd replaced Upstart in the Fedora 15 release.[14][15]
- Red Hat includes Upstart in their Red Hat Enterprise Linux 6 release.[16] As a result, it is also used by RHEL 6 variants such as CentOS, Scientific Linux, and Oracle Linux. For RHEL 7, systemd is used instead.[17][18]
- openSUSE included Upstart in version 11.3 Milestone 4, but not as default.[19] systemd replaced Upstart, as the default init system in openSUSE 12.1.[20]
- Upstart is used in HP's webOS for the Palm Pre, Palm Pixi (both before Palm was bought out by HP), HP Veer, and HP Pre 3 smart phones, along with the HP TouchPad tablet.[21]
- Upstart replaced the sysvinit in Maemo 5 for Nokia Internet tablets[22] and was retained for MeeGo on the N9 and N950 handsets despite MeeGo's transition to systemd after merging with Moblin.[citation needed]
See also
- systemd
- launchd
- Operating system service management
- Service Management Facility
References
- ^ "Upstart 1.13 released". Ubuntu.com. Retrieved 2014-07-12.
- ^ Remnant, Scott James (2006-08-26). "Upstart in Universe". Netsplit. Retrieved 2009-09-12.
- ^ "Upstart", Launch Pad (605007), Ubuntu
- ^ "Discussion of design and implementation of Upstart", Ubuntu Wiki, Canonical
- ^ "The Upstart Cookbook: initctl emit". Canonical. Retrieved 26 January 2014.
- ^ "The Upstart Cookbook: Bridges". Canonical. Retrieved 26 January 2014.
- ^ "Upstart", About, Ubuntu
- ^ Shuttleworth, Mark. "Losing graciously". Retrieved 14 February 2014.
- ^ Software Architecture: Chromium OS design documents, Google, retrieved 25 January 2014
- ^ The Debian technical committee vote concludes, Lwn.net, 2014-02-11, retrieved 2014-02-11
- ^ Petter Reinholdtsen (2009-09-05), The future of the boot system in Debian, Debian.org
- ^ RM: upstart -- RoQA; unmaintained, debian.org, 2015-12-18, retrieved 2016-01-26
- ^ VividVervet/ReleaseNotes, 2015-04-24
- ^ Fedora 14 Accepted Features, 2010-07-13, retrieved 2010-07-13
- ^ "Fedora defers systemd to F15". Linux Weekly News. 2010-09-14. Retrieved 2010-09-17.
- ^ "Deployment". Red Hat Enterprise Linux 6: Technical Notes. Red Hat. Retrieved 2013-12-31.
- ^ Lennart Poettering (2013-06-19), Red Hat Summit talk about systemd in RHEL 7 is now available online, Google Plus, retrieved 2013-12-31
- ^ Tim Burke (2012-06-27), "Red Hat Enterprise Linux Roadmap Highlights" (PDF), presentation
- ^ OpenSUSE gets an Upstart, The H, 2010-03-26, archived from the original on 8 December 2013, retrieved 2010-04-04
- ^ Chris von Eitzen (2011-11-16), openSUSE 12.1 arrives with systemd and Btrfs, The H, archived from the original on 20 April 2012, retrieved 2011-11-16
- ^ Garrett, Matthew (2009-06-10), Palm Pre, retrieved 2009-07-09
- ^ Fremantle, Maemo, retrieved 2009-08-24
External links
- Home page
- Upstart on Launchpad
- Upstart Cookbook
- Upstart Cookbook
- Init systems comparison: part 1 and part 2 (LWN.net)
- Init systems comparison table
Ubuntu
|
|
General |
- Canonical Ltd.
- Releases
- Ubuntu (philosophy)
|
|
People |
- Jono Bacon
- Ben Collins
- Benjamin Mako Hill
- Ian Jackson
- Scott James Remnant
- Mark Shuttleworth
- Jeff Waugh
- Jane Silber
|
|
Derivatives |
Official editions |
- Ubuntu
- Ubuntu Server
- Ubuntu Touch
- Ubuntu TV
- Ubuntu Kylin
|
|
Community
supported |
- Edubuntu
- Kubuntu
- Lubuntu
- Ubuntu GNOME
- Ubuntu MATE
- Ubuntu Studio
- Xubuntu
|
|
Terminated |
- Gobuntu
- Mythbuntu
- Ubuntu Mobile
- Ubuntu Netbook Edition
- Ubuntu JeOS
|
|
Unofficial |
- EasyPeasy
- Elementary OS
- Emmabuntüs
- Linux Mint
- Trisquel
|
|
|
Applications |
- Bazaar
- Juju
- Live USB creator
- Software Updater
- Ubiquity
Discontinued |
- OpenCD
- StartUp-Manager
- Ubuntu One
- Ubuntu Software Center
|
|
Related applications |
|
|
|
Technology and
user interface |
- LightDM
- Mir display server
- Side Stage
- Snappy
- Ubuntu for Android
- Unity interface
- Uncomplicated Firewall
- Upstart
- Usplash
- Wubi
- XSplash
Related technology |
- AppArmor
- APT
- deb format
- dpkg
|
|
|
Hardware |
|
|
Support |
- Ask Ubuntu
- Launchpad
- Medibuntu
- Paper cut bug
- Personal Package Archive
- Restricted extras
- Ubuntu Professional Certification
- Ubuntu Forums
- Ubuntu One Account (Ubuntu SSO)
|
|
Fonts |
- Ubuntu (typeface)
- Ubuntu-Title
|
|
Media |
|
|
Related topics |
- Debian
- Linux kernel
- aptitude
- dash
- debconf package
|
|
- Category
- Commons
- Book
- Wikiversity
|
Service management in Unix-like systems
|
|
Portable implementations |
|
|
Operating-system-specific |
- Linux
- OS X
- Solaris
- Service Management Facility
|
|
Process supervision tools |
|