Upstart
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.
[edit] Rationale
The traditional init process is strictly synchronous, blocking future tasks until the current one has completed. Its tasks must also be defined in advance, and they only run when the init daemon changes state (such as when the machine is powered on or off). This leaves it unable to handle various tasks on a modern desktop computer elegantly, including:
Upstart's event-driven model allows it to respond to events asynchronously as they are generated.[1]
[edit] Design
Upstart operates asynchronously — as well as handling the starting of tasks and services during boot and stopping them during shutdown, it supervises them while the system is running.
Easy transition and perfect backwards compatibility with sysvinit were explicit design goals[2]. As such, Upstart is able to run sysvinit scripts unmodified. In this way it differs from most other init replacements, which usually assume and require complete transition to run properly, and don't support a mixed environment of traditional and new startup methods.[3]
[edit] Adoption
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.[4]
As Upstart matures, it is intended that its role will expand to the duties currently handled by cron, anacron, the at command's daemon (atd), and possibly (but much less likely) inetd.
Upstart replaced sysvinit in Fedora 9, and functioned in the same manner as it did in Ubuntu, i.e. it replaces sysvinit, while retaining the existing scripts. However, Upstart has been replaced by systemd in Fedora 15 release.[5][6] Red Hat also includes Upstart in their Red Hat Enterprise Linux 6 release[7]. As a result it is also used by RHEL variants such as Centos and Scientific Linux.
Debian considered switching for the Squeeze release.[8]
openSUSE has included upstart as of version 11.3 Milestone 4, but not as default.[9]
Upstart replaces the sysvinit in the Maemo 5 operating system for Nokia Internet tablets.[10]
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.[11]
Upstart is also used in Google's Chrome OS.[12]

