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