Review of Dennis and Van Horn (1966)

From: Joanna Muench (joannam_at_spro.net)
Date: Sun Jan 11 2004 - 22:20:10 PST

  • Next message: Jeff Duzak: "Review of "Programming Semantics for Multiprogrammed Computations""

    In their paper, Dennis and Van Horn describe what they feel are the
    essential properties of a multiprogrammed computer system (MCS). These
    include a protection scheme, the essentials of process controls and
    segments, and a directory structure. The paper describes in some detail
    the concepts we now associate with threading and central to the
    discussion is the concept of the sphere of protection. The computation's
    list of capabilities or C-list defines the sphere of protection the
    process can run under, i.e. the devices, segments, etc the process can
    access. The paper goes on to present the basics of threading ideas by
    defining essential operations such as fork, quit, join, lock and unlock,
    with a nice example of avoiding lockout.

    The discussion of inferior spheres of protection, primarily an aid to
    facilitate safe debugging, help further clarify the application of
    C-lists. These inferior spheres seem well thought out, with ample
    consideration given to handling exceptions. The concept of an OS-based
    debugging environment clearly indicates this system is meant to be a
    friendly one for programmers.

    The paper bogs down in the final third with a somewhat convoluted
    discussion of directories and naming. In the end the structure described
    by the paper resembles the UNIX file system portrayed more concisely
    eight years later by Ritchie and Thompson (1974). Fortunately UNIX did
    not carry the restriction that objects can never have their name
    changed, the worst single idea this paper presented. Unfortunately the
    vocabulary used in this section is awkward and the authors punt on the
    issue what to do with a retained object that has no owner. However it
    serves as a reminder that what now seems obvious hasn't always been.

    The authors do not describe a full operating system but do an admirable
    job of describing what they see as the core concepts necessary to allow
    multiple concurrent computations. While much progress has been made in
    the last forty years, this paper does outline some key concepts to
    multi-threaded programming.


  • Next message: Jeff Duzak: "Review of "Programming Semantics for Multiprogrammed Computations""

    This archive was generated by hypermail 2.1.6 : Sun Jan 11 2004 - 22:16:38 PST