Review of "Programming Semantics for Multiprogrammed Computations"

From: Song Xue (songxue_at_microsoft.com)
Date: Mon Jan 12 2004 - 15:58:48 PST

  • Next message: Ian King: "Review: Dennis & Van Horn, Programming Semantics for Multiprogrammed Computations"

    The paper titled "Programming Semantics for Multiprogrammed
    Computations" defines the semantics of a set of meta-instructions that
    perform operations essential to the writing of programs in
    multiprogramming computer systems. In particular, the paper focuses on
    three areas: parallel processing, naming objects of computation, and
    protection of computing entities from unauthorized access.

    Before diving into the meta-instructions, the properties of
    Multiprogramming Computer Systems as well as the concepts and
    terminology are laid out. Segments designates named resources.
    Implementation of protection is segment based. Process is a locus of
    control within an instruction sequence. Computation in term is a set of
    processes with the same sphere of protection. Principals correspond to
    users. The supervisor is the authors' term of kernel.

    A number of meta-instructions are defined for parallel programming,
    including fork, quit, join, private, lock & unlock, execute i/o
    function. They help to define a consistent semantics of
    parallel-running computations.

    A term "sphere of protection" to denote the capability of the
    computations. It is specified by a list of capabilities (C-list), each
    references a resource together with the actions that the computation may
    perform with regards to that resource. A computation's sphere of
    protection can be thought of as having been established by another
    computation, with the ability to grant additional capabilities through
    meta-instruction grant. In addition, semantics are defined for
    "Protected entry point" which protects resources that are manipulated on
    behalf of several concurrent computations.

    To my surprise, something like naming is an essential part of the
    programming semantics. Names must be un-ambiguous, reasonable easy to
    be generated, allow intersegment references with less than the full
    name, and finally permit sets of objects to be shared easily. The
    authors proposed that names be organized into a hierarchical structure
    (directories). A set of instructions are then defined on the name
    directories.

     


  • Next message: Ian King: "Review: Dennis & Van Horn, Programming Semantics for Multiprogrammed Computations"

    This archive was generated by hypermail 2.1.6 : Mon Jan 12 2004 - 15:58:50 PST