systemd ist das inzwischen dominante Init-System für Linux. Weite Verbreitung erreichte es von 2012 bis 2015 (Fedora, openSUSE, Arch, Ubuntu, Debian u.a.). systemd löst sowohl den Init-Prozess (PID 1; der Prozess, der vom Kernel gestartet wird und ohne den ein Linux-System nicht laufen kann) als auch die Konfiguration der zu startenden Dienste ab.
Um das Wichtigste vorwegzunehmen: systemd ist ein brillantes Stück Software. Nicht frei von Bugs und fragwürdigen Designentscheidungen, aber welche Software ist das schon? Gemessen daran, was die verbreiteten Linux-Distributionen (standardmäßig) vorher hatten, ist das der Schritt von den Neandertalern zur Kernfusion.
Während das alte Init-System (System V, SysVinit) sehr klein und überschaubar war, ist systemd ein inzwischen weit verzweigtes Ganzes aus gut aufeinander abgestimmten Komponenten (die das Linux-Ökosystem sehr unterschiedlich stark prägen):
der Init-Prozess (PID 1)
die Definition der Runlevel (dieser Begriff ist in der systemd-Welt allerdings nicht mehr gebräuchlich; systemd nennt sie targets)
das Starten der Dienste entsprechend dem default target und der Abhängigkeiten der Dienste und sonstiger Units (inklusive des Mountens der Dateisysteme aus fstab oder expliziten Mount-Units)
Logging (systemd-journald)
Konfiguration der (physischen und logischen) Netzwerk-Interfaces (systemd-networkd)
udev (systemd-udevd)
Session-Verwaltung (systemd-logind)
DNS (systemd-resolved)
Systemzeit / NTP (systemd-timesyncd)
Verwaltung von VMs und Containern (systemd-machined)
systemd stellt nicht nur die Umgebung für Systemdienste bereit, sondern auch für Dienste, die von normalen Benutzern gestartet werden. Dafür hat systemd ein PAM-Modul (pam_systemd), das Umgebungsvariablen setzt und beim ersten Login eines Benutzers die entsprechenden Instanzen diverser systemd-Dienste startet. systemd hat auch ein D-Bus-Interface und nutzt polkit.