Daemon (informatique)

Pour les articles homonymes, voir Démon.

Un daemon (prononcé /ˈdiː.mən/ ou /ˈdeɪ.mən/, du grec δαιμων \- divinité), mot anglais qui signifie « daimôn », souvent traduit de manière erronée par démon[1], 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.

Les programmes daemons sont généralement lancés automatiquement par le système d'exploitation sans l'intervention de l'utilisateur. Ils servent par exemple à vérifier l'arrivée de nouveaux e-mails, à l'affichage de notifications dans une barre de tâches ou à la synchronisation de l'horloge avec un serveur distant. Ils 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 ».

Le terme daemon semble être introduit en 1963 par les concepteurs de CTSS du MIT, en réponse au « dragon »[2], terme employé par les concepteurs d'ITS. Le rétroacronyme Disk And Execution MONitor (« moniteur de disque et d'exécution ») a été inventé pour justifier le terme daemon après qu'il est devenu populaire[3],[4].

## Daemon sous UNIX

[modifier | modifier le code]

Dans un système d'exploitation de type UNIX, un daemon 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[N 1] (« 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 daemon n'importe quel processus fonctionnant en arrière-plan, qu'il soit ou non un enfant de `init`[5].

## Exemples

[modifier | modifier le code]

Les programmes serveurs réseau, qui doivent fonctionner en permanence, sont des daemons. 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 »[5].

Les noms des logiciels serveurs se terminent souvent par un d comme daemon. Ainsi le terme httpd (« HTTP daemon ») 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 daemons 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 daemon : il faut lancer le daemon, 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

[modifier | modifier le code]

### Notes

[modifier | modifier le code]

1. ↑ Il s'agit d'un jeu de mots sur fuck off and die, qui signifie « casse-toi et meurs ».

### Références

[modifier | modifier le code]

1. ↑ (en) Evi Nemeth, Garth Snyder et Scott Seebass, Unix System Administration Handbook, Prentice Hall, 1989 (ISBN 0139334416), « Daemons », p. 403-404 :

> « Many people equate the word “daemon” with the word “demon,” implying some kind of Satanic connection between UNIX and the underworld. This is an egregious misunderstanding. “Daemon” is actually a much older form of “demon”; daemons have no particular bias towards good or evil, but rather serve to help define a person’s character or personality. The ancient Greeks' concept of a “personal daemon” was similar to the modern concept of a “guardian angel” — “eudaemonia” is the state of being helped or protected by a kindly spirit. [...] Mick [Bailey] quoted the Oxford English Dictionary in support of both the meaning and the spelling of the word. »

2. ↑ (en) « The on-line hacker Jargon File, version 4.4.7 », Partie II : The Jargon Lexicon. Glossary. Entrée : daemon. , sur catb.org, Éric S. Raymond, 29 décembre 2003 (consulté le 2 septembre 2024)
3. ↑ Harley Hahn (trad. de l'anglais par François Pêcheux), Unix : Guide de l’étudiant [« Harley Hahn's Student Guide to Unix, second edition »], Paris, Dunod, coll. « Sciences Sup », 15 mai 1998, 2e éd., 704 p., 16,9 × 3,6 × 24 cm (ISBN 978-2-1000-3601-1), Les processus et leur contrôle, « Daemons et dragons »
4. ↑ (en) Harley Hahn, chap. 26 « Processes and Job Control », dans Harley Hahn's Guide to Unix and Linux, Boston, McGraw-Hill Higher Education, 2008, 961 p. (ISBN 9780077414832, présentation en ligne, lire en ligne)
5. ↑ a et b Nicolas Nova, Persistance du merveilleux : le petit peuple de nos machines, Premier Parallèle, 2024 (ISBN 978-2-85061-247-3), p. 30

* Portail de l’informatique

*[(en)]: Langue : anglais
*[p.]: page
*[trad.]: traduction
*[coll.]: collection
*[2e]: deuxième
*[éd.]: édition
*[cm]: centimètre
*[chap.]: chapitre(s)