Upstart
Encyclopedia
Upstart is an event-based replacement for the traditional init
Init
init is a program for Unix-based computer operating systems that spawns all other processes. It runs as a daemon and typically has PID 1. The boot loader starts the kernel and the kernel starts init...

 daemon — the method by which several Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....

 computer operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

s perform tasks when the computer is started. It was written by Scott James Remnant
Scott James Remnant
Scott James Remnant is an open source software developer.Scott is a former employee of Canonical Ltd. where he worked as the "Ubuntu Developer Manager" on the Ubuntu Linux distribution...

, a former employee of Canonical Ltd.
Canonical Ltd.
Canonical Ltd. is a private company founded by South African entrepreneur Mark Shuttleworth to market commercial support and related services for Ubuntu Linux and related projects. Canonical is registered in London and employs staff around the world...


Rationale

The traditional init process is strictly synchronous
Synchronization (computer science)
In computer science, synchronization refers to one of two distinct but related concepts: synchronization of processes, and synchronization of data. Process synchronization refers to the idea that multiple processes are to join up or handshake at a certain point, so as to reach an agreement or...

, blocking
Blocking (computing)
Blocking occurs when a subroutine does not return until it either completes its task or fails with an error or exception. A process that is blocked is one that waits for some event, such as a resource becoming available or the completion of an I/O operation.In a multitasking computer system,...

 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
Desktop computer
A desktop computer is a personal computer in a form intended for regular use at a single location, as opposed to a mobile laptop or portable computer. Early desktop computers are designed to lay flat on the desk, while modern towers stand upright...

 elegantly, including:
  • The addition or removal of USB pen 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
    Firmware
    In electronic systems and computing, firmware is a term often used to denote the fixed, usually rather small, programs and/or data structures that internally control various electronic devices...

     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.

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. 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.

Adoption

Upstart was first included in Ubuntu
Ubuntu (operating system)
Ubuntu is a computer operating system based on the Debian Linux distribution and distributed as free and open source software. It is named after the Southern African philosophy of 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.

As Upstart matures, it is intended that its role will expand to the duties currently handled by cron
Cron
Cron is a time-based job scheduler in Unix-like computer operating systems. Cron enables users to schedule jobs to run periodically at certain times or dates...

, anacron
Anacron
anacron is a computer program that performs periodic command scheduling which is traditionally done by cron, but without assuming that the system is running continuously. Thus, it can be used to control the execution of daily, weekly, and monthly jobs on systems that don't run 24 hours a day...

, the at
At (Unix)
In Unix-like computer operating systems,the at commandis used to schedule commands to be executed once, at a particular time in the future....

 command's daemon (atd), and possibly (but much less likely) inetd
Inetd
inetd is a super-server daemon on many Unix systems that manages Internet services. First appearing in 4.3BSD , it is generally located at /usr/sbin/inetd.-Function:...

.

Upstart replaced sysvinit in Fedora
Fedora (operating system)
Fedora is a RPM-based, general purpose collection of software, including an operating system based on the Linux kernel, developed by the community-supported Fedora Project and sponsored by Red Hat...

 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
Systemd
systemd is a replacement for the System V init daemon for Linux. It is intended to provide a better framework for expressing services' dependencies, allow more work to be done in parallel at system startup, and to reduce shell overhead....

 in Fedora
Fedora (operating system)
Fedora is a RPM-based, general purpose collection of software, including an operating system based on the Linux kernel, developed by the community-supported Fedora Project and sponsored by Red Hat...

 15 release. Red Hat also includes Upstart in their Red Hat Enterprise Linux 6 release

Debian
Debian
Debian is a computer operating system composed of software packages released as free and open source software primarily under the GNU General Public License along with other free software licenses. Debian GNU/Linux, which includes the GNU OS tools and Linux kernel, is a popular and influential...

 considered switching for the Squeeze release.

openSUSE
OpenSUSE
openSUSE is a general purpose operating system built on top of the Linux kernel, developed by the community-supported openSUSE Project and sponsored by SUSE...

 has included upstart as of version 11.3 Milestone 4, but not as default.

Upstart replaces the sysvinit in the Maemo 5 operating system for Nokia
Nokia
Nokia Corporation is a Finnish multinational communications corporation that is headquartered in Keilaniemi, Espoo, a city neighbouring Finland's capital Helsinki...

 Internet tablets.

Upstart is used in HP
Hewlett-Packard
Hewlett-Packard Company or HP is an American multinational information technology corporation headquartered in Palo Alto, California, USA that provides products, technologies, softwares, solutions and services to consumers, small- and medium-sized businesses and large enterprises, including...

's webOS for the Palm Pre
Palm Pre
The Palm Pre is a multimedia smartphone designed and marketed by Palm with a multi-touch screen and a sliding keyboard. The smartphone was the first to use Palm's Linux based mobile operating system, webOS...

, Palm Pixi
Palm Pixi
The Palm Pixi and Pixi Plus are multimedia smartphones, developed by Palm, which was purchased in 2010 by HP. The device is viewed as a successor to the Palm Centro smartphone and was Palm's second webOS device, after the Palm Pre....

 (both before Palm was bought out by HP), HP Veer
HP Veer
The Veer is a smartphone announced by HP on February 9, 2011. The device uses webOS, is powered by a Snapdragon processor, and has a 2.6-inch screen. The smartphone is notable for its credit card-sized dimensions...

, and HP Pre 3
HP Pre 3
The HP Pre 3 is a touchscreen slider smartphone manufactured by Hewlett-Packard. On February 9, 2011, the phone was announced by HP at a webOS special event held at the Fort Mason Center, San Francisco alongside the HP Veer and Touchpad. It was commercially released in the United Kingdom on...

 smart phones, along with the HP TouchPad
HP TouchPad
The HP TouchPad is a tablet computer which was developed and designed by Hewlett-Packard. The HP TouchPad was launched on July 1, 2011, in the United States; July 15 in Canada, United Kingdom, France, Germany; and August 15 in Australia....

 tablet
Tablet computer
A tablet computer, or simply tablet, is a complete mobile computer, larger than a mobile phone or personal digital assistant, integrated into a flat touch screen and primarily operated by touching the screen...

.

Upstart is also used in Google
Google
Google Inc. is an American multinational public corporation invested in Internet search, cloud computing, and advertising technologies. Google hosts and develops a number of Internet-based services and products, and generates profit primarily from advertising through its AdWords program...

's Chrome OS
Google Chrome OS
Google Chrome OS is a Linux-based operating system designed by Google to work exclusively with web applications. Google announced the operating system on July 7, 2009 and made it an open source project, called Chromium OS, that November....

.

See also

  • initng
    Initng
    Initng is a full replacement of the UNIX System V init, the first process spawned by the kernel in Unix-like computer operating systems, which is responsible for the initialization of every other process...

  • launchd
    Launchd
    launchd is a unified, open-source service management framework for starting, stopping and managing daemons, applications, processes, and scripts...

  • Service Management Facility
    Service Management Facility
    Service Management Facility is a feature of the Solaris operating system that creates a supported, unified model for services and service management on each Solaris system and replaces init.d scripts. SMF introduces:...

  • eINIT
    EINIT
    eINIT is a replacement for sysvinit, an init system used on Unix-based operating systems. eINIT is designed with speed in mind. Many testers claim that their systems boot up in 30 seconds, whereas sysvinit takes around two minutes to boot....

  • GoboLinux#Boot system
  • systemd
    Systemd
    systemd is a replacement for the System V init daemon for Linux. It is intended to provide a better framework for expressing services' dependencies, allow more work to be done in parallel at system startup, and to reduce shell overhead....

  • runit
    Runit
    runit is an implementation of Process Supervision for Linux....

  • daemontools
    Daemontools
    daemontools is a collection of free tools for managing Unix services. It was written by Daniel J. Bernstein as an improvement to the inittab, ttys, init.d or rc.local alternatives by providingall of the following features....


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK