Daemon (informatique)

{{#ifeq:||Un article de Ziki, l'encyclopédie libre.|Une page de Ziki, l'encyclopédie libre.}}
(Redirigé depuis Démon (informatique))

Modèle:Titre en italique Modèle:Voir homonymes Un Modèle:Lang (prononcé {{#ifeq:1|0|/ˈdiː.mən/|[[Alphabet phonétique international|Modèle:Nobr]]}} ou {{#ifeq:1|0|/ˈdeɪ.mən/|[[Alphabet phonétique international|Modèle:Nobr]]}}, du grec Modèle:Grec ancien - divinité), mot anglais qui signifie « daimôn », souvent traduit erronément par démon<ref>Modèle:Ouvrage</ref>, est un type de programme informatique, un processus ou un ensemble de processus qui s'exécute en arrière-plan plutôt que sous le contrôle direct d'un utilisateur.

Le terme Modèle:Lang semble être introduit en 1963 par les concepteurs de CTSS du MIT, en réponse au « dragon », terme employé par les concepteurs d'ITS. Le rétroacronyme Modèle:Lang (« moniteur de disque et d'exécution ») a été inventé pour justifier le terme daemon après qu'il soit devenu populaire<ref>Harley Hahn, UNIX : guide de l'étudiant, Modèle:2e, Dunod, p. 368 « Daemons et dragons ».</ref>,<ref>« Modèle:Langue », Modèle:Langue, sur le site de Eric S. Raymond.</ref>.

Les Modèle:Lang sont souvent démarrés lors du chargement du système d'exploitation et servent en général à répondre à des requêtes du réseau, à l'activité du matériel ou à d'autres programmes en exécutant certaines tâches. Sous Microsoft Windows, ces fonctions sont exécutées par des programmes appelés « services ».

Daemon sous UNIX

Dans un système d'exploitation de type UNIX, un Modèle:Lang est en général un processus dont le processus parent est init, le processus numéro 1. Un daemon peut donc être créé soit par init lui-même, soit par un autre processus en utilisant le mécanisme dit du fork off and die<ref group="N">Il s'agit d'un jeu de mots sur Modèle:Langue, qui signifie « casse-toi et meurs ».</ref> (« Fourcher et mourir » en anglais). Le principe de ce mécanisme est de générer un processus enfant grâce à l'appel système fork, puis terminer immédiatement. Le processus enfant orphelin se trouve alors adopté par init.

Dans l'usage commun, on appelle aussi Modèle:Lang n'importe quel processus fonctionnant en arrière-plan, qu'il soit ou non un enfant de init.

Exemples

Les programmes serveurs réseau, qui doivent fonctionner en permanence, sont des Modèle:Lang. C'est par exemple le cas des serveurs de messagerie. Les courriels envoyés sans destinataire provoquent en général un message d'erreur provenant du serveur, avec l'adresse « mailer-daemon@serveur.exemple ».

Les noms des logiciels serveurs se terminent souvent par un d comme daemon. Ainsi le terme httpd (« HTTP Modèle:Lang ») apparaît parfois dans les noms de logiciels serveurs web (NCSA HTTPd, lighttpd, nom de domaine httpd.apache.org pour Apache HTTP Server, etc.), sous UNIX le serveur d'imprimante s'appelle lpd (Line Printer Daemon), etc.

Les Modèle:Lang peuvent aussi être utilisés pour configurer le matériel (comme devfsd sur les systèmes GNU/Linux), exécuter des tâches répétitives (comme crond) ou effectuer une variété d'autres tâches.

Certains logiciels clients, comme Geneweb, fonctionnent avec un Modèle:Lang : il faut lancer le Modèle:Lang, contenant le cœur du logiciel et faisant office de serveur HTTP, puis ouvrir une page spécifique dans un navigateur pour atteindre l'interface utilisateur.

Notes et références

Notes

Modèle:Références

Références

Modèle:Références

Modèle:Portail