World Library  
Flag as Inappropriate
Email this Article
 

Upstart

Upstart
Upstart logo
Original author(s) Scott James Remnant
Developer(s) Canonical Ltd.
Initial release August 24, 2006 (2006-08-24)
Stable release 1.13[1] / July 11, 2014 (2014-07-11)
Written in C
Operating system Linux
Type Init daemon
License GPLv2
Website .com.ubuntuupstart

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

  • Rationale 1
  • Design 2
  • Adoption 3
  • See also 4
  • References 5
  • External links 6

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]
  • Ubuntu finished the switch to systemd as its default init system in version 15.04, with the exception of Ubuntu Touch.[12]
  • In Fedora 9, Upstart replaced sysvinit, however, systemd replaced Upstart in the Fedora 15 release.[13][14]
  • Red Hat includes Upstart in their Red Hat Enterprise Linux 6 release.[15] 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.[16][17]
  • openSUSE included Upstart in version 11.3 Milestone 4, but not as default.[18] systemd replaced Upstart, as the default init system in openSUSE 12.1.[19]
  • 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.[20]
  • Upstart replaced the sysvinit in Maemo 5 for Nokia Internet tablets[21] and was retained for MeeGo on the N9 and N950 handsets despite MeeGo's transition to systemd after merging with Moblin.

See also

References

  1. ^ "Upstart 1.13 released". Ubuntu.com. Retrieved 2014-07-12. 
  2. ^ Remnant, Scott James (2006-08-26). "Upstart in Universe". Netsplit. Retrieved 2009-09-12. 
  3. ^ "Upstart", Launch Pad (605007), Ubuntu 
  4. ^ "Discussion of design and implementation of Upstart", Ubuntu Wiki, Canonical 
  5. ^ "The Upstart Cookbook: initctl emit". Canonical. Retrieved 26 January 2014. 
  6. ^ "The Upstart Cookbook: Bridges". Canonical. Retrieved 26 January 2014. 
  7. ^ "Upstart", About (Ubuntu) 
  8. ^ Shuttleworth, Mark. "Losing graciously". Retrieved 14 February 2014. 
  9. ^ Software Architecture: Chromium OS design documents, Google, retrieved 25 January 2014 
  10. ^ The Debian technical committee vote concludes, Lwn.net, 2014-02-11, retrieved 2014-02-11 
  11. ^ Petter Reinholdtsen (2009-09-05), The future of the boot system in Debian, Debian.org 
  12. ^ VividVervet/ReleaseNotes, 2015-04-24 
  13. ^ Fedora 14 Accepted Features, 2010-07-13, retrieved 2010-07-13 
  14. ^ "Fedora defers systemd to F15". Linux Weekly News. 2010-09-14. Retrieved 2010-09-17. 
  15. ^ "Deployment". Red Hat Enterprise Linux 6: Technical Notes.  
  16. ^ Lennart Poettering (2013-06-19), Red Hat Summit talk about systemd in RHEL 7 is now available online, Google Plus, retrieved 2013-12-31 
  17. ^ Tim Burke (2012-06-27), "Red Hat Enterprise Linux Roadmap Highlights" (PDF), presentation 
  18. ^ OpenSUSE gets an Upstart, The H, 2010-03-26, archived from the original on 8 December 2013, retrieved 2010-04-04 
  19. ^ 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 
  20. ^  
  21. ^ 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
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 



Copyright © World Library Foundation. All rights reserved. eBooks from Hawaii eBook Library are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.