Systemd Basics: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
|||
| (4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
=Allgemein= | |||
*systemd ist eine Sammlung von Programmen, Hintergrundprogrammen (Daemons) und Bibliotheken für Linux-Systeme. | *systemd ist eine Sammlung von Programmen, Hintergrundprogrammen (Daemons) und Bibliotheken für Linux-Systeme. | ||
*Ihr zentraler Bestandteil ist der systemd init-Prozess, der als erster Prozess (Prozess-ID 1) zum Starten, Überwachen und Beenden weiterer Prozesse dient. | *Ihr zentraler Bestandteil ist der systemd init-Prozess, der als erster Prozess (Prozess-ID 1) zum Starten, Überwachen und Beenden weiterer Prozesse dient. | ||
| Zeile 5: | Zeile 6: | ||
*Es wird als freie Software unter der GNU Lesser General Public License (LGPL) veröffentlicht. | *Es wird als freie Software unter der GNU Lesser General Public License (LGPL) veröffentlicht. | ||
*Der Name entspricht mit dem abschließenden „d“ dem für Daemons üblichen Namensschema: systemd ist der Daemon, der das System startet und betreut. | *Der Name entspricht mit dem abschließenden „d“ dem für Daemons üblichen Namensschema: systemd ist der Daemon, der das System startet und betreut. | ||
=Technik= | |||
*Systemd ist abwärtskompatibel zu SysVinit-Skripten. | |||
*Allerdings werden bewusst Features benutzt, die nur unter Linux zur Verfügung stehen, nicht aber auf anderen unixoiden Betriebssystemen. | |||
*Es kann daher nur auf Systemen mit Linux-Kernel laufen. | |||
*Es soll den gegenseitigen Abhängigkeiten von Prozessen besser gerecht werden. | |||
*Dies wurde durch mehr Parallelisierung erreicht und soll zu einer besseren Auslastung beim Systemstart führen | |||
*Somit weniger Verzögerungen verursachen als das ältere, klassische SysVinit. | |||
*Grundlegendes Konzept dafür ist es, weitgehend alle Prozesse gleichzeitig zu starten. | |||
<!--*Um nicht, wie bei anderen zwar grundsätzlich auf Parallelisierung setzenden Systemen, anhand der in einem Modell erfassten wechselseitigen Abhängigkeiten der Prozesse teilweise noch mit Serialisierung zu arbeiten, werden die D-Bus-Verbindungen und Sockets zur Interprozesskommunikation schon vor dem Start des zugehörigen Dienstes bereitgestellt und vom Kernel eventuell auflaufende Nachrichten bis zur Bereitschaft des Dienstes gepuffert. --> | |||
*D-Bus-Verbindungen und Sockets zur Interprozesskommunikation schon vor dem Start des zugehörigen Dienstes bereitgestellt und vom Kernel eventuell auflaufende Nachrichten bis zur Bereitschaft des Dienstes gepuffert. | |||
*Dies unterscheidet sich zu anderen auf Parallelisierung setzenden Systemen | |||
*Ähnliches wird für Anfragen an Dateisysteme mittels autofs bewerkstelligt. | |||
*Daneben kann es nur gelegentlich benötigte Dienste ereignisbasiert erst bei Bedarf starten und so beim Systemstart weniger Dienste starten. | |||
*Damit nimmt es Aufgaben wahr, die bei klassischen Unix-Systemen von inetd übernommen werden. | |||
*Weiterhin sollen alle Shell-Boot-Skripte durch deklarative Konfigurationsdateien ersetzt werden, in denen definiert wird, wie die jeweiligen Dienste gestartet werden. | |||
*Diese Dateien sind in der Regel deutlich einfacher zu schreiben als init-Skripte und vermeiden den erheblichen Overhead von Shell-Skripten. | |||
Aktuelle Version vom 18. Januar 2023, 07:23 Uhr
Allgemein
- systemd ist eine Sammlung von Programmen, Hintergrundprogrammen (Daemons) und Bibliotheken für Linux-Systeme.
- Ihr zentraler Bestandteil ist der systemd init-Prozess, der als erster Prozess (Prozess-ID 1) zum Starten, Überwachen und Beenden weiterer Prozesse dient.
- Es bietet aber auch andere Systemkomponenten an, deren Bandbreite vom Booten ("systemd-boot") bis zum Logging ("journald") reichen.
- Systemd wurde von Lennart Poettering, Kay Sievers (Red Hat Inc.) und anderen in C programmiert
- Es wird als freie Software unter der GNU Lesser General Public License (LGPL) veröffentlicht.
- Der Name entspricht mit dem abschließenden „d“ dem für Daemons üblichen Namensschema: systemd ist der Daemon, der das System startet und betreut.
Technik
- Systemd ist abwärtskompatibel zu SysVinit-Skripten.
- Allerdings werden bewusst Features benutzt, die nur unter Linux zur Verfügung stehen, nicht aber auf anderen unixoiden Betriebssystemen.
- Es kann daher nur auf Systemen mit Linux-Kernel laufen.
- Es soll den gegenseitigen Abhängigkeiten von Prozessen besser gerecht werden.
- Dies wurde durch mehr Parallelisierung erreicht und soll zu einer besseren Auslastung beim Systemstart führen
- Somit weniger Verzögerungen verursachen als das ältere, klassische SysVinit.
- Grundlegendes Konzept dafür ist es, weitgehend alle Prozesse gleichzeitig zu starten.
- D-Bus-Verbindungen und Sockets zur Interprozesskommunikation schon vor dem Start des zugehörigen Dienstes bereitgestellt und vom Kernel eventuell auflaufende Nachrichten bis zur Bereitschaft des Dienstes gepuffert.
- Dies unterscheidet sich zu anderen auf Parallelisierung setzenden Systemen
- Ähnliches wird für Anfragen an Dateisysteme mittels autofs bewerkstelligt.
- Daneben kann es nur gelegentlich benötigte Dienste ereignisbasiert erst bei Bedarf starten und so beim Systemstart weniger Dienste starten.
- Damit nimmt es Aufgaben wahr, die bei klassischen Unix-Systemen von inetd übernommen werden.
- Weiterhin sollen alle Shell-Boot-Skripte durch deklarative Konfigurationsdateien ersetzt werden, in denen definiert wird, wie die jeweiligen Dienste gestartet werden.
- Diese Dateien sind in der Regel deutlich einfacher zu schreiben als init-Skripte und vermeiden den erheblichen Overhead von Shell-Skripten.