Upstart

Upstart
Upstart logo
原作者Scott James Remnant
開發者Canonical公司
首次发布2006年8月24日,​17年前​(2006-08-24
当前版本
  • 1.13.2 (2014年9月4日)[1]
編輯維基數據鏈接
源代码库
  • code.launchpad.net/upstart
編輯維基數據鏈接
编程语言C
操作系统Linux
类型初始化守护进程
许可协议GPLv2
网站upstart.ubuntu.com

Upstart是一个基于事件的init程式 ,用于替代传统的init(多种类Unix计算机操作系统启动时用于执行任务的程序)。它是由Canonical公司前雇员Scott James Remnant所写。

解释

传统的init进程原本只负责在开机后将计算机带入正常运行状态,并且在正常关机前关闭服务。因此,它的设计是严格同步的,且会阻塞未来的任务,直到完成当前任务。因为受限于准备或清除函数,它的任务也是事先定义的。这使得它无法简洁地处理现代桌面计算机上的各种非启动任务,其中包括:

  • 机器运行时添加或删除U盘和其他便携式存储/网络设备
  • 发现并扫描新存储设备而不锁定系统,尤其是当磁盘没被扫描就不运行时
  • 固件需要在检测设备之后、在它可用之前加载

Upstart的事件驱动模型允许它以异步方式对生成的事件作出回应。[3]

设计

Upstart是异步工作的;它在系统运行时监督服务,并且在开关机时启动和关闭任务和服务。

对sysvinit简单的过渡和完善的向后兼容是明确的设计目标;[4]因此,Upstart能运行未经修改的sysvinit脚本。因此,与大多数其他的init替代(除了systemdOpenRC)不同,它们通常假设并要求彻底的过渡,以正常运行,且不支持新旧启动方法混合的环境。[5]

通过使用initctl输入自定义的单一事件,或整合更多更复杂事件的事件桥,Upstart允许扩展其事件模型。[6]默认情况下,Upstart包括接口(socket)、dbus、udev、文件及dconf事件桥;另外,可以有更多种桥(例如Mach端口桥,或devd(FreeBSD系统上)桥)。[7]

采用

使用Upstart作为默认init系统的Linux发行版及其他基于Linux内核的操作系统:

支持或已在一定程度上支持Upstart,但弃用它作为默认init系统的Linux发行版:

  • Debian在考虑切换至Upstart后,[9]决定systemd将从jessie版(Debian 8)开始作为默认init系统。[10]
  • Ubuntu首次在2006年底6.10 (Edgy Eft)版中包含Upstart,以取代sysvinit。Ubuntu 9.10(Karmic Koala) Alpha 6中推出可原生启动的Upstart。[11]反过来,在2014年Debian项目决定在Debian 8版本中使用systemd后,Ubuntu在15.04起亦改用systemd,以保持与上游一致。[12][13]
  • 在Fedora 9中,Upstart替换了sysvinit,然而,systemd在Fedora15版本替代了Upstart。[14][15]
  • 红帽在他们的Red Hat Enterprise Linux 6中包含了Upstart。[16]因此,它也被用于RHEL 6的变体,如CentOSScientific LinuxOracle Linux。RHEL 7使用systemd取代upstart。[17][18]
  • openSUSE在11.3 Milestone 4版包含了upstart,但未作为默认。[19]在openSUSE 12.1版中,systemd取代Upstart作为默认init系统。[20]
  • Upstart被用于惠普Palm Pre、Palm Pixi(在Palm被惠普收购之前)、HP Veer、HP Pre 3智能手机HP TouchPad平板中的webOS[21]并为N9和N950手机上的MeeGo保留,尽管MeeGo与Moblin合并后正向systemd过渡。[來源請求]
  • Kindle 在固件也使用 Upstart 来控制设备的启动及服务。[來源請求]

参见

  • 自由软件主题

参考

  1. ^ https://launchpad.net/upstart/+milestone/1.13.2.
  2. ^ All releases of upstart. Freecode.com. [2014-09-04]. (原始内容存档于2016-03-04). 
  3. ^ Remnant, Scott James. Upstart in Universe. Netsplit. 2006-08-26 [2009-09-12]. (原始内容存档于2009-09-04). 
  4. ^ Upstart, Launch Pad (605007), Ubuntu, [2014-01-27], (原始内容存档于2020-06-12) .
  5. ^ Discussion of design and implementation of Upstart, Ubuntu Wiki, Canonical, [2014-01-27], (原始内容存档于2020-05-26) .
  6. ^ The Upstart Cookbook. Canonical. [26 January 2014]. (原始内容存档于2014-02-14).  |chapter=被忽略 (帮助)
  7. ^ The Upstart Cookbook. Canonical. [26 January 2014]. (原始内容存档于2014-02-14).  |chapter=被忽略 (帮助)
  8. ^ Software Architecture: Chromium OS design documents, Google, [25 January 2014], (原始内容存档于2022-04-09) 
  9. ^ Petter Reinholdtsen, The future of the boot system in Debian, Debian.org, 2009-09-05 [2014-01-27], (原始内容存档于2022-01-09) 
  10. ^ The Debian technical committee vote concludes, Lwn.net, 2014-02-11 [2014-02-11], (原始内容存档于2014-02-22) 
  11. ^ Upstart, About (Ubuntu) [永久失效連結]
  12. ^ Shuttleworth, Mark. Losing graciously. [14 February 2014]. (原始内容存档于2014-03-22). 
  13. ^ VividVervet/ReleaseNotes - Ubuntu Wiki. [2017-10-17]. (原始内容存档于2015-06-11). 
  14. ^ Fedora 14 Accepted Features, 2010-07-13 [2010-07-13], (原始内容存档于2022-03-27) 
  15. ^ Fedora defers systemd to F15. Linux Weekly News. 2010-09-14 [2010-09-17]. (原始内容存档于2022-04-09). 
  16. ^ Deployment. Red Hat Enterprise Linux 6: Technical Notes. 红帽公司. [2013-12-31]. (原始内容存档于2013-12-31). 
  17. ^ 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) 
  18. ^ Tim Burke, Red Hat Enterprise Linux Roadmap Highlights (PDF), presentation, 2012-06-27 [2014-04-09], (原始内容 (PDF)存档于2013-01-18) 
  19. ^ OpenSUSE gets an Upstart, The H, 2010-03-26 [2010-04-04], (原始内容存档于2013-12-08) 
  20. ^ Chris von Eitzen, openSUSE 12.1 arrives with systemd and Btrfs, The H, 2011-11-16 [2011-11-16], (原始内容存档于2012-04-20) 
  21. ^ Palm Pre, Live Journal, [2009-07-09], (原始内容存档于2009-12-23) 

外部链接

Ubuntu
一般
人物
  • Jono Bacon英语Jono Bacon
  • Ben Collins
  • Benjamin Mako Hill英语Benjamin Mako Hill
  • Ian Jackson英语Ian Jackson
  • Scott James Remnant英语Scott James Remnant
  • 马克·沙特尔沃思
  • Jeff Waugh英语Jeff Waugh
  • Jane Silber英语Jane Silber
衍生版
官方版本
社区支持
第三方
已终止
软件
  • Bazaar英语GNU Bazaar
  • Juju英语Juju (software)
  • Mir显示服务器
  • Startup Disk Creator英语Startup Disk Creator
  • 软件更新器
  • Ubiquity
已终止
第三方
技术和用户界面
第三方
硬件
  • System76
  • Ubuntu Edge英语Ubuntu Edge
支持
  • Ask Ubuntu
  • Launchpad
  • Medibuntu英语Medibuntu
  • Paper cut bug英语Paper cut bug
  • Ubuntu受限額外程式
  • Ubuntu专业认证英语Ubuntu Professional Certification
  • Ubuntu论坛英语Ubuntu Forums
  • Ubuntu OneUbuntu SSO英语Ubuntu Single Sign On
第三方
  • GetDeb英语GetDeb
字体
媒体
相关主题
  • 分类 分类
  • 共享资源页面 共享资源
  • 维基百科图书 书籍
  • 维基学院页面 维基学院
类Unix系统中的服务管理英语Operating system service management
可移植实现
特定操作系统
  • Linux
  • OS X
  • Solaris
    • 服务管理工具英语Service Management Facility
进程监视英语Process supervision工具
  • daemontools英语daemontools
  • monit英语monit
  • runit