Systemd
Encyclopedia
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
.
The name comes from the Unix convention of suffixing system daemon
s (background processes) with the letter "d".
systemd is written by Lennart Poettering
and published as free software
under the terms of the GNU General Public License
version 2 or later.
systemd has since been proposed as an external dependency of GNOME
3.2 by the project's author. This would essentially require all distributions that use GNOME to use systemd, or at least include it as a configurable option.
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...
for Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
. It is intended to provide a better framework
Software framework
In computer programming, a software framework is an abstraction in which software providing generic functionality can be selectively changed by user code, thus providing application specific software...
for expressing services' dependencies, allow more work to be done in parallel at system startup, and to reduce shell
Shell (computing)
A shell is a piece of software that provides an interface for users of an operating system which provides access to the services of a kernel. However, the term is also applied very loosely to applications and may include any software that is "built around" a particular component, such as web...
overhead
Computational overhead
In computer science, overhead is generally considered any combination of excess or indirect computation time, memory, bandwidth, or other resources that are required to attain a particular goal...
.
The name comes from the Unix convention of suffixing system daemon
Daemon (computer software)
In Unix and other multitasking computer operating systems, a daemon is a computer program that runs as a background process, rather than being under the direct control of an interactive user...
s (background processes) with the letter "d".
systemd is written by Lennart Poettering
Lennart Poettering
Lennart Poettering is a computer programmer, best known for the creation of the PulseAudio cross-platform sound server, the systemd replacement for the System V init daemon, and the Avahi zeroconf implementation....
and published as free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
under the terms of the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
version 2 or later.
Features
Compared to System V init, which was used by most distributions prior, systemd can take advantage of several new techniques:- Socket-activated and bus-activated services, which leads to better parallelization of interdependent services.
- cgroupsCgroupscgroups is a Linux kernel feature to limit, account and isolate resource usage of process groups. This work was started by Rohit Seth in 2006 under the name "process containers"; in late 2007 it was renamed to cgroups and merged to kernel version 2.6.24...
are used to track service processes, instead of PIDsProcess identifierIn computing, the process identifier is a number used by most operating system kernels to uniquely identify a process...
. This means that daemons cannot "escape" systemd even by double-forkingFork (operating system)In computing, when a process forks, it creates a copy of itself. More generally, a fork in a multithreading environment means that a thread of execution is duplicated, creating a child thread from the parent thread....
.
Adoption
- FedoraFedora (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 comes with systemd enabled by default. Originally, it was planned to be enabled by default in the Fedora 14 release, however it was postponed. systemd is an optional package in Fedora 14.
- openSUSEOpenSUSEopenSUSE is a general purpose operating system built on top of the Linux kernel, developed by the community-supported openSUSE Project and sponsored by SUSE...
was considering adopting systemd for version 11.4, however it was postponed. systemd has been included as the default init system in openSUSE 12.1.
- MandrivaMandriva LinuxMandriva Linux is a Linux distribution distributed by Mandriva. It uses the RPM Package Manager...
2011 has systemd enabled by default. MageiaMageiaMageia is the name of a non-profit organization and Linux distribution. The first release of the distribution was made on 1 June 2011.-Name:The term "mageia" — μαγεία in Greek — means "magic" in English...
will support systemd fully on 12/04 release.
- Arch LinuxArch LinuxArch Linux is an independently developed, Linux-based operating system for i686 and x86-64 computers. It is composed predominantly of free and open source software, and supports community involvement....
has packages in the community repository for systemd itself and a set of unit files.
- Debian GNU/Linux has packages for systemd in the development, or "unstable" branch.
- GentooGentoo LinuxGentoo Linux is a computer operating system built on top of the Linux kernel and based on the Portage package management system. It is distributed as free and open source software. Unlike a conventional software distribution, the user compiles the source code locally according to their chosen...
supports systemd and it's available in testing.
- paldo GNU/LinuxPaldo GNU/Linuxpaldo is a computer operating system built on top of the Linux kernel and using the GNU utilities.Developed primarily for desktop computers using the x86 and x86_64 architectures, it has a history of frequent stable releases since 2004 and a "rolling release" style of continual updating of the...
adopted systemd by default in April 2011.
systemd has since been proposed as an external dependency of GNOME
GNOME
GNOME is a desktop environment and graphical user interface that runs on top of a computer operating system. It is composed entirely of free and open source software...
3.2 by the project's author. This would essentially require all distributions that use GNOME to use systemd, or at least include it as a configurable option.
See also
- launchdLaunchdlaunchd is a unified, open-source service management framework for starting, stopping and managing daemons, applications, processes, and scripts...
- Service Management FacilityService Management FacilityService 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:...
- UpstartUpstartUpstart 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....