本页使用了标题或全文手工转换

Upstart

维基百科,自由的百科全书
跳转至: 导航搜索
Upstart
Upstart logo
原作者 Scott James Remnant
開發者 Canonical公司
初始版本 2006年8月24日,​11年前​(2006-08-24
穩定版本 1.13.2[1](2014年9月4日,​3年前​(2014-09-04
编程语言 C
操作系统 Linux
类型 初始化常駐程式 (守护 是大陸用語)
许可协议 GPLv2
網站 upstart.ubuntu.com

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

解释[编辑]

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

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

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

设计[编辑]

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

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

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

采用[编辑]

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

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

参见[编辑]

参考[编辑]

  1. ^ All releases of upstart. Freecode.com. [2014-09-04]. 
  2. ^ Remnant, Scott James. Upstart in Universe. Netsplit. 2006-08-26 [2009-09-12]. 
  3. ^ Upstart, Launch Pad (605007), Ubuntu .
  4. ^ Discussion of design and implementation of Upstart, Ubuntu Wiki, Canonical .
  5. ^ The Upstart Cookbook. Canonical. [26 January 2014].  |chapter=被忽略 (帮助)
  6. ^ The Upstart Cookbook. Canonical. [26 January 2014].  |chapter=被忽略 (帮助)
  7. ^ Upstart, About (Ubuntu) 
  8. ^ Shuttleworth, Mark. Losing graciously. [14 February 2014]. 
  9. ^ Software Architecture: Chromium OS design documents, Google, [25 January 2014] 
  10. ^ Petter Reinholdtsen, The future of the boot system in Debian, Debian.org, 2009-09-05 
  11. ^ The Debian technical committee vote concludes, Lwn.net, 2014-02-11 [2014-02-11] 
  12. ^ Fedora 14 Accepted Features, 2010-07-13 [2010-07-13] 
  13. ^ Fedora defers systemd to F15. Linux Weekly News. 2010-09-14 [2010-09-17]. 
  14. ^ Deployment. Red Hat Enterprise Linux 6: Technical Notes. 红帽公司. [2013-12-31]. 
  15. ^ Lennart Poettering, Red Hat Summit talk about systemd in RHEL 7 is now available online, Google Plus, 2013-06-19 [2013-12-31] 
  16. ^ Tim Burke, Red Hat Enterprise Linux Roadmap Highlights (PDF), presentation, 2012-06-27 
  17. ^ OpenSUSE gets an Upstart, The H, 2010-03-26 [2010-04-04], (原始内容存档于8 December 2013) 
  18. ^ Chris von Eitzen, openSUSE 12.1 arrives with systemd and Btrfs, The H, 2011-11-16 [2011-11-16], (原始内容存档于20 April 2012) 
  19. ^ Palm Pre, Live Journal, [2009-07-09] 

外部链接[编辑]