Upstart

Upstart是一个基于事件的init程式 ，用于替代传统的init（多种类Unix计算机操作系统启动时用于执行任务的程序）。它是由Canonical公司前雇员Scott James Remnant所写。 传统的init进程原本只负责在开机后将计算机带入正常运行状态，并且在正常关机前关闭服务。因此，它的设计是严格同步的，且会阻塞未来的任务，直到完成当前任务。因为受限于准备或清除函数，它的任务也是事先定义的。这使得它无法简洁地处理现代桌面计算机上的各种非启动任务，其中包括： 机器运行时添加或删除U盘和其他便携式存储/网络设备 发现并扫描新存储设备而不锁定系统，尤其是当磁盘没被扫描就不运行时 固件需要在检测设备之后、在它可用之前加载 Upstart的事件驱动模型允许它以异步方式对生成的事件作出回应。 Upstart是异步工作的；它在系统运行时监督服务，并且在开关机时启动和关闭任务和服务。 对sysvinit简单的过渡和完善的向后兼容是明确的设计目标；因此，Upstart能运行未经修改的sysvinit脚本。因此，与大多数其他的init替代（除了systemd和OpenRC）不同，它们通常假设并要求彻底的过渡，以正常运行，且不支持新旧启动方法混合的环境。 通过使用initctl输入自定义的单一事件，或整合更多更复杂事件的事件桥，Upstart允许扩展其事件模型。默认情况下，Upstart包括接口（socket）、dbus、udev、文件及dconf事件桥；另外，可以有更多种桥（例如Mach端口桥，或devd（FreeBSD系统上）桥）。 使用Upstart作为默认init系统的Linux发行版及其他基于Linux内核的操作系统： Upstart被用于谷歌的Chrome OS。 支持或已在一定程度上支持Upstart，但弃用它作为默认init系统的Linux发行版： Debian在考虑切换至Upstart后，决定systemd将从jessie版（Debian 8）开始作为默认init系统。 Ubuntu首次在2006年底6.10 (Edgy Eft)版中包含Upstart，以取代sysvinit。Ubuntu 9.10(Karmic Koala) Alpha 6中推出可原生启动的Upstart。反过来，在2014年Debian项目决定在Debian 8版本中使用systemd后，Ubuntu在15.04起亦改用systemd，以保持与上游一致。 在Fedora 9中，Upstart替换了sysvinit，然而，systemd在Fedora15版本替代了Upstart。 红帽在他们的Red Hat Enterprise Linux 6中包含了Upstart。因此，它也被用于RHEL 6的变体，如CentOS、Scientific Linux和Oracle Linux。RHEL 7使用systemd取代upstart。 openSUSE在11.3 Milestone 4版包含了upstart，但未作为默认。在openSUSE 12.1版中，systemd取代Upstart作为默认init系统。 Upstart被用于惠普Palm Pre、Palm Pixi（在Palm被惠普收购之前）、HP Veer、HP Pre 3智能手机HP TouchPad和平板中的webOS并为N9和N950手机上的MeeGo保留，尽管MeeGo与Moblin合并后正向systemd过渡。[來源請求] Kindle 在固件也使用 Upstart 来控制设备的启动及服务。[來源請求] 自由软件主题 服务管理工具 OpenRC systemd All releases of upstart. Freecode.com. [2014-09-04]. （原始内容存档于2016-03-04）.  Remnant, Scott James. Upstart in Universe. Netsplit. 2006-08-26 [2009-09-12]. （原始内容存档于2009-09-04）.  Upstart, Launch Pad (605007), Ubuntu, [2014-01-27], （原始内容存档于2020-06-12） . Discussion of design and implementation of Upstart, Ubuntu Wiki, Canonical, [2014-01-27], （原始内容存档于2020-05-26） . The Upstart Cookbook. Canonical. [26 January 2014]. （原始内容存档于2014-02-14）.  |chapter=被忽略 (帮助) The Upstart Cookbook. Canonical. [26 January 2014]. （原始内容存档于2014-02-14）.  |chapter=被忽略 (帮助) Software Architecture: Chromium OS design documents, Google, [25 January 2014], （原始内容存档于2022-04-09）  Petter Reinholdtsen, The future of the boot system in Debian, Debian.org, 2009-09-05 [2014-01-27], （原始内容存档于2022-01-09）  The Debian technical committee vote concludes, Lwn.net, 2014-02-11 [2014-02-11], （原始内容存档于2014-02-22）  Upstart, About (Ubuntu) [永久失效連結] Shuttleworth, Mark. Losing graciously. [14 February 2014]. （原始内容存档于2014-03-22）.  VividVervet/ReleaseNotes - Ubuntu Wiki. [2017-10-17]. （原始内容存档于2015-06-11）.  Fedora 14 Accepted Features, 2010-07-13 [2010-07-13], （原始内容存档于2022-03-27）  Fedora defers systemd to F15. Linux Weekly News. 2010-09-14 [2010-09-17]. （原始内容存档于2022-04-09）.  Deployment. Red Hat Enterprise Linux 6: Technical Notes. 红帽公司. [2013-12-31]. （原始内容存档于2013-12-31）.  Lennart Poettering, Red Hat Summit talk about systemd in RHEL 7 is now available online, Google Plus, 2013-06-19 [2013-12-31], （原始内容存档于2017-03-03）  Tim Burke, Red Hat Enterprise Linux Roadmap Highlights (PDF), presentation, 2012-06-27 [2014-04-09], （原始内容 (PDF)存档于2013-01-18）  OpenSUSE gets an Upstart, The H, 2010-03-26 [2010-04-04], （原始内容存档于2013-12-08）  Chris von Eitzen, openSUSE 12.1 arrives with systemd and Btrfs, The H, 2011-11-16 [2011-11-16], （原始内容存档于2012-04-20）  Palm Pre, Live Journal, [2009-07-09], （原始内容存档于2009-12-23）  主页 （页面存档备份，存于互联网档案馆） Upstart. Launchpad].  Upstart Cookbook （页面存档备份，存于互联网档案馆） Upstart Cookbook （页面存档备份，存于互联网档案馆） 初始化系统比较：part 1 （页面存档备份，存于互联网档案馆）和part 2 （页面存档备份，存于互联网档案馆） (LWN.net)