Multics 832 entries
20 Mar 2017

Glossary - Q

Glossary of Multics acronyms and terms. Entries by Tom Van Vleck ([THVV]) unless noted.

Index| A| B| C| P| C| D| E| F| G| H| I| J| K| L| M| N| O| P| Q| R| S| T| U| V| W| X|
CTSS editor written by Ken Thompson. This line-oriented editor was influenced by the character-oriented QED editor on the SDS-940; one of Ken's major additions was regular expression searching and substitution. Ported to Multics BCPL by Ken and Dennis Ritchie. Bob Daley then wrote Multics qedx as a less functional but faster version. Both qed and qedx are programmable: they support multiple buffers, and a user can execute the contents of a buffer containing editor commands. Doug McIlroy wrote a version of tic-tac-toe in qed. Qedx was the standard editor for most of the Multics development community throughout the 70s. Info segment for qedx command See ted.

[BSG] The qedx language was unambiguously optimized for interactive line-editing, not programming, thus writing non-trivial QEDX "macros" (programs) was a black art whose results where very ugly and non-maintainable and often bordered on black humor. Compare TECO. ted, adding many more commands, is one direction of solution. edm, having no programming language, is another. [perl, with no editing language, is another point on the scale -- THVV] Having entirely distinct command and extension languages is now almost universally considered to be the correct solution to problems of this sort (e.g., Emacs).

[THVV] A nice history of QED, its descendants, and the use of regular expressions is in Russ Cox's article.

(1) Scheduler queue. Exponential schedulers such as pioneered by Corbató placed eligible processes in one of several queues. Lower priority queues were given exponentially more run time, and higher priority jobs preempted lower priority.

(2) I/O Daemon or absentee queue. User requests to run an absentee job or to print or punch a file were placed in one of several queues selected by the user. The service selected the first job in the highest priority non-empty queue. Absentee jobs and daemon requests were not preempted; they ran to completion. There was a higher charge for the use of higher priority queues.

(3) Message coordinator queue. Input and output for devices managed by the message coordinator were placed in queue segments until the coordinator acted upon them.

(4) TP queue. The transaction processing facility queued requests from input terminals.

(5) Disk queue. The disk DIM maintained two priority queue for disk requests, a high priority queue for page reads and VTOCE I/O, and a low priority queue for page writes.

(6) Coreadd queue: see Cow's Stomach

[BSG] Method used to interrupt a running program. The quit condition is raised by pressing the ATTN or INTERRUPT key on a terminal, or otherwise causing a "line break" condition (On account of its IBM 2741s and 1050s midwives, Multics studiously avoided any traffic in ASCII "control characters" or reliance on ASCII terminals until Emacs). This condition normally causes an output abort, the printing of QUIT, and establishment of a new command level. The user can then execute commands at the new level, or can start, release, or issue the program_interrupt command to return to the old level.

Usually referred to disk quota. Sometimes people spoke of the other resource limits, namely CPU, dollar cost, etc, as quotas, since that was the term used on CTSS.