Differences between System V and systemd

From NovaOrdis Knowledge Base
Revision as of 21:19, 19 August 2023 by Ovidiu (talk | contribs) (→‎Overview)
Jump to navigation Jump to search

Internal

Overview

Both System V and systemd are init systems, used to manage processes and services on Linux systems. An init system is responsible for starting and stopping services, controlling runlevels, and providing a way to start and stop processes.

System V uses a set of init shell scripts to start and stop services. They are stored under /etc/init.d directory, and they are executed by the init process.

systemd uses unit files, which are configuration files, not executable scripts. They describe how to start and stop services. They are stored in /usr/lib/systemd/system and they are managed by the systemd process.

System V starts services sequentially. systemd starts services in parallel, being aware of the service dependency DAG.

SystemV uses runlevels to determine which services to start and stop. A runlevel is a predefined state of the system, where only a specific set of services are running. SystemV has seven runlevels, numbered 0-6, where 0 represents the system shut down state, and 6 represents the system reboot state. systemd does not use runlevels in the same way as System V. Instead, systemd uses targets, which are similar to runlevels, but provide more flexibility and control over services.