The Structure of the "THE" Multiprogramming System
This paper describes a multiprogramming system that is
hierarchically structured as a system of 6 layers. Explicit
mutual synchronization statements regulates the interaction of the
cooperating sequential processes.
- Level 0: processor allocation
- Level 1: segment controller -- information units called
"segments" fit in "core pages" and "drum pages." The number of
possible segment identifiers is much larger than the total
number of pages in primary and secondary store.
- Level 2: message interpreter -- allocates console keyboard
among processes.
- Level 3: buffering of input streams and unbuffering of
output streams -- an abstraction of the actual peripherals.
- Level 4: independent-user programs
- Level 5: the operator (a human!)
Hierarchical structuring allows testing of each level.
This paper also contains a description of semaphores,
P-operation, V-operation. Semaphores are used for mutual
exclusion (for critical sections) and private semaphores (as
condition variables).
Elaine Cheong
Last modified: Sun Aug 19 00:41:20 PDT 2001