Daemon

From Computer History Wiki
Jump to: navigation, search

In many systems, a daemon is a process running in the background (i.e. usually not connected to a controlling physical terminal or pseudo-terminal) which performs some utility task for the system community as a whole. The idea, and the name (the original term is from classical Greek - 'semi-divine spirit'), originated on CTSS; it has spread (e.g. to UNIX). There are now typically innumerable daemons on most systems, many of them handling interactions with a connected data network.

Among the first were line printer spoolers, since a queue of items waiting to be printed might exist. When email appeared, incoming and outgoing messages were handled by email daemons. (Outgoing as well, since the destination might be unresponsive at the exact moment the message was sent, and the daemon would have to keep trying.)

On ITS, a demon is a background process that is started by the system when needed. The demon may linger on after doing its job, or exit to be invoked later again if necessary. There is a system call, DEMSIG for signaling a demon. The demon machinery was considered obsoleted in in the mid-1970s and only the Dynamic Modeling system kept using it. A dragon is a background process that is started when the system boots, and remains running in the background until the system goes down.

On WAITS, a phantom is a job started by the system to do some system-related work but which runs as a user job. Similar to an ITS demon, a phantom is mainly started on request and may or may not stay in the background once it's job is done.

External links