Multics 843 entries
25 May 2024

Glossary - K

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


Index| A| B| C| D| E| F| G| H| I| J| K| L| M| N| O| P| Q| R| S| T| U| V| W| X| Y| Z|
KERMIT
Protocol for transferring files to and from PCs over async lines.

kernel
We didn't speak of the "kernel" of the system at first. Our term was usually "supervisor." When Project Guardian got underway, there was discussion of isolating the security-critical parts of the supervisor into a "security kernel." OS/360 used the term "nucleus."

kill
The @ character in terminal input "kills" the whole line typed, back to the left margin in edited input mode. (The kill character was ? in CTSS.) (See erase)

Kludge
The ESL display, a feature of CTSS. This device was a vector scope connected to channel D of the IBM 7094, with substantial intelligence in the display controller. It inspired features of the Multics graphics system.

known
[BSG] A segment is "known" in a process if that process has a segment number for it, as defined by an entry in its KST. In today's language, a "known segment" is a file system file mapped into the address space of a process (but as a segment, not a sub-expanse of linear memory), the only way of accessing files (i.e., segments) in Multics. Making a segment known is also called initiating, and making it unknown is called terminating. Only segments known in an address space can have SDWs in that process, but not all known segments have SDWs at any given time. See also active.

KOOL
[Daniel Bois] Artificial Intelligence language created by CEDIAG, the Bull AI Tools group. The name stands for "Knowledge Object Oriented Language". It is a multi-purpose "Inference Engine" built on Multics first before being ported to Unix, MS-DOS, GCOS, etc ... and before they made a version called KOOL 4x4 which was written in C rather than Lisp.

KST
[BSG] Known Segment Table. A per-process supervisor data base that defines and stores the mapping between segment numbers in that process and files, effectively but not really by pathname, in the file system (actually a tree of directory entry pointers with unique IDs). It is from this data base that segment faults in a process are resolved, i.e., the segment being referenced for the first time identified with a segment in the file system by having its page table located or created and given an SDW in this process. The size of the KST and the width of the segment number field of pointer registers limited the number of segments available to a process.

The KST also, for many years, contained what later became the per-ring RNT, which records all names that a user has used to reference a given segment. In the case of directories, which often have similar upper-case and lower-case names, these names were actually returned when pathnames of segments were asked for, in an unpredictable order, resulting in >udd, >UDD, and >user_dir_dir, all names for the same directory, appearing in unpredictable permutation. See initiate and terminate.

[Doug McIlroy] For the glossary, I recall the use of KST as a verb. To be KST'd was to remain linked to an old binary after you'd compiled a new one. That early problem was probably rarely seen by later users. But the agonized shriek of "KST'd again" was often heard during the short time we actually ran Multics at Bell Labs. See new_proc.