Review of THE Multiprogramming System

From: Honghai Liu (liu789_at_hotmail.com)
Date: Wed Jan 07 2004 - 16:09:14 PST

  • Next message: Richard Jackson: "Review: Edsger W. Dijkstra. The Structure of the "THE" Multiprogramming System"

    Reviewer: Honghai Liu

     

    The article reported the methodology on designing and building a prototype of an operating system, where notion of sequential processes is introduced to support "multi-programming".

     

    A hierarchical structure in the system structure was discussed in full details. Most importantly, at least in the view of the author, this layered structure guarantees the success of the testing process, because each layer can be verified and tested independently.

     

    The detailed layers are as follows:
    Level 0: hardware interrupt/processors handling
    Level 1: segment controller to manage virtual memory
    Level 2: message interpreter to take care of console keyboard
    Level 3: buffering input/output streams
    Level 4: independent-user program
    Level 5: the operator

     

    There were a couple of other new and interesting ideas presented in the article:

    1) Storage Allocation

     The author adopted an approach, which separated memory units from segments. The idea is very similar to the modern virtual memory paging management. There are many advantages of this: First, no need to return the segment to the same drum page from which is originally came. Second, a program doesn't have to occupy the consecutive drum pages. Lastly, even in case of the failure of some drums, the allocation would not be impacted with some trivial bookkeeping activity.

    2) Semaphores

    The article may be one of the first, which explained the mechanism of semaphores primitives as well as two of its different applications in this project. One of the application, mutual exclusion is still widely used nowadays.

     

    Although the hierarchy structure was a novel idea, but the author was unaware the there could be performance issues because of the overheads across the layers. Moreover, the layers suggested may not be applicable with the more diverse and contemporary applications (such as games).

     

    In general, the article is a little hard to read, for example I am still not sure what private semaphores really mean. Nevertheless, the paper is an important one because of great ideas such as hierarchy structure and semaphores.


  • Next message: Richard Jackson: "Review: Edsger W. Dijkstra. The Structure of the "THE" Multiprogramming System"

    This archive was generated by hypermail 2.1.6 : Wed Jan 07 2004 - 16:09:13 PST