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 -------