[mod.ai] Daemons

ALDERSON@SCORE.STANFORD.EDU.UUCP (04/01/87)

The following definitions are from a file often distributed with Tops-20 EMACS,
known there as INFO:JARGON.TXT; its origins are the files GLS; JARGON > at
MIT-MC and AIWORD.RF[UP,DOC] at SAIL.  This text is from the 1981 version;
later, expanded versions eventually were published as _The Hacker's Dictionary_
around 1984.

 DAEMON (day'mun, dee'mun) [archaic form of "demon", which has slightly differ-
 ent connotations (q.v.)] n. A program which is not invoked explicitly, but
 which lays dormant waiting for some condition(s) to occur.  The idea is that
 the perpetrator of the condition need not be aware that a daemon is lurking
 (though often a program will commit an action only because it knows that it
 will implicitly invoke a daemon).  For example, writing a file on the lpt
 spooler's directory will invoke the spooling daemon, which prints the file.
 The advantage is that programs which want (in this example) files printed need
 not compete for access to the lpt.  They simply enter their implicit requests
 and let the daemon decide what to do with them.  Daemons are usually spawned
 automatically by the system, and may either live forever or be regenerated at
 intervals.  Usage:  DAEMON and DEMON (q.v.) are often used interchangeably,
 but seem to have distinct connotations.  DAEMON was introduced to computing by
 CTSS people (who pronounced it dee'mon) and used it to refer to what is now
 called a DRAGON or PHANTOM (q.v.).  The meaning and pronunciation have
 drifted, and we think this glossary reflects current usage.

 DEMON (dee'mun) n. A portion of a program which is not invoked explicitly, but
 which lays dormant waiting for some condition(s) to occur.  See DAEMON.  The
 distinction is that demons are usually processes within a program, while
 daemons are usually programs running on an operating system.  Demons are
 particularly common in AI programs.  For example, a knowledge manipulation
 program might implement inference rules as demons.  Whenever a new piece of
 knowledge was added, various demons would activate (which demons depends on
 the particular piece of data) and would create additional pieces of knowledge
 by applying their respective inference rules to the original piece.  These new
 pieces could in turn activate more demons as the inferences filtered down
 through chains of logic.  Meanwhile the main program could continue with
 whatever its primary task was.

 DRAGON n. (MIT) A program similar to a "daemon" (q.v.), except that it is not
 invoked at all, but is instead used by the system to perform various secondary
 tasks.  A typical example would be an accounting program, which keeps track of
 who is logged in, accumulates load-average statistics, etc.  At MIT, all free
 TV's display a list of people logged in, where they are, what they're running,
 etc. along with some random picture (such as a unicorn, Snoopy, or the
 Enterprise) which is generated by the "NAME DRAGON".  See PHANTOM.

 PHANTOM n. (Stanford) The SAIL equivalent of a DRAGON (q.v.).  Typical
 phantoms include the accounting program, the news-wire monitor, and the lpt
 and xgp spoolers.

 SERVER n. A kind of DAEMON which performs a service for the requester, which
 often runs on a computer other than the one on which the server runs.

Rich Alderson
A.Alderson@{Lear, Othello, Hamlet, Macbeth}.Stanford.EDU
-------