Top-Fragen
Zeitleiste
Chat
Kontext
Daemon
Programm, das als Hintergrundprozess abläuft Aus Wikipedia, der freien Enzyklopädie
Remove ads
Als Daemon (englisch, [ ]) – teils auch mit Ligatur „æ“ Dæmon,[1] seltener in der Schreibweise „demon“,[2] englisch für Dämon, und daher teils auch auf Deutsch mit „Dämon“ übersetzt[3] – bezeichnet man unter Unix und Unix-artigen Systemen[4] einen Prozess, der im Hintergrund abläuft und bestimmte Dienste zur Verfügung stellt.[5] Benutzerinteraktionen finden hierbei nur auf indirektem Weg statt, zum Beispiel über Signale, Pipes und vor allem (Netzwerk-)Sockets.
Ursprünglich wurde der Begriff von den Programmierern des Projekts MAC und CTSS des MIT geprägt. Sie übernahmen den Namen vom maxwellschen Dämon, einem imaginären Wesen aus einem Gedankenexperiment, das ständig im Hintergrund arbeitet und Moleküle sortiert.[6] Maxwells Dämon steht im Einklang mit der Interpretation der griechischen Mythologie eines Dämons als übernatürlichem Wesen, das im Hintergrund arbeitet, ohne eine besondere Neigung zum Guten oder Bösen zu haben. Um sich von dieser alten, religiösen Bedeutung zu distanzieren, wurde beim CTSS und dem Projekt MAC die Schreibweise absichtlich von „englisch „demon““ in „daemon“ geändert. DAEMON wurde auch als Abkürzung für den Disk And Execution MONitor des CTSS genutzt, einem Hintergrunddienst für Sicherungsaufgaben. Dabei handelt es sich jedoch um ein Backronym.[7]
Über Multics wurde diese Terminologie auch in Unix übernommen, sowie in allen Unix-artigen und auch in anderen Betriebssystemen, beispielsweise z/OS.[8] Bei Windows heißen die entsprechenden Programme services oder Systemdienste.[5] Ähnlich, aber weit weniger mächtig sind TSR-Programme unter DOS.
Remove ads
Aufruf und Funktionsweise
Zusammenfassung
Kontext
Normalerweise werden Daemons nicht durch Benutzerinteraktion gestartet, sondern automatisch beim Wechsel in ein anderes Runlevel bzw. beim Systemstart. Dadurch stellen Daemons einen wesentlichen Anteil des Bootprozesses dar, da bei den meisten Unix-Derivaten die wesentliche Anwendungslogik des Betriebssystems im Userspace und damit in den Daemons abläuft. Typische Daemon-Programme sind bei Unix-Betriebssystemen daher nicht nur Server-Prozesse wie Netzwerkdienste, E-Mail-Server, Datenbankserver und Druckerserver, sondern auch Prozesse, die die Hardwarekonfiguration bzw. -Überwachung vornehmen, wie Sounddaemons oder Wechselmedienverwaltungsdaemons. Auch periodische Aufgaben oder zu festgelegten Zeiten anfallende Aufgaben werden mithilfe von Daemons realisiert.
Daemons können jedoch auch wie normale Prozesse in einer Shell durch einen Benutzer gestartet werden. Anschließend forken diese Prozesse und erstellen auf diese Weise einen Prozess, der mit der aufrufenden Shell nicht mehr verbunden ist und damit ein direkter Kindprozess des Hauptprozesses init wird. In der Praxis werden viele Daemons so konstruiert, dass sie per Kommandozeilenparameter wahlweise sowohl im Hintergrund (detached) laufen können als auch im Vordergrund, d. h. im Kontext der Shell, verbleiben können. Oft werden Logausgaben dann auf der Standardausgabe ausgegeben.
Remove ads
Beispiele
Zusammenfassung
Kontext

Um ihren Daemon-Charakter zu bezeichnen, hat der Name vieler solcher Programme ein angehängtes „d“, zum Beispiel syslogd oder cupsd.[4][9]
Remove ads
Der Daemon als Logo

In Anspielung auf einen Dämon haben sich die BSD-Unix-Derivate einen solchen zum Logo gemacht. Die Figur enthält einige Metaphorik, die Daemons charakterisiert. Sie wurde als Logo für diese Unix-Derivate gewählt, weil Daemons eine zentrale Betriebssystemkomponente darstellen.
Auch die BSD-Derivate FreeBSD und NetBSD hatten den Daemon ursprünglich übernommen, mittlerweile sind alle Derivate jedoch auf ein alternatives oder abgewandeltes Logo umgestiegen.
Siehe auch
Weblinks
- List of computer term etymologies – zur Etymologie des Begriffs in der englischsprachigen Wikipedia
- How to daemonize in Linux – Fachartikel einer Schweizer Universität (englisch)
- Unix Daemon Server Programming – einführender Artikel in die Techniken der Daemon-Programmierung in der Programmiersprache C (englisch)
Einzelnachweise
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads