From: Prasanna Kumar Jayapal (prasak_at_winse.microsoft.com)
Date: Mon Jan 12 2004 - 15:21:46 PST
In this paper, the authors describe the meta-instructions of a
Multiprogrammed Computer System (MCS) that mainly relate to parallel
processing, object naming and protection of computing entities.
The paper starts with an overview of the properties of a MCS which
mainly touch upon concurrency, resource management and information
sharing. Then it discusses the underlying concepts like segments (group
of words), protection of segments, processes, computations, the
association of each computation with a Capability List (or C-List, which
is just a list of the various things the processes in the computation
are allowed to do), and the association of the computation and it's
C-List with a "sphere of protection," within which processes execute.
Reading through this sections, the Computations and Processes sounded to
me like the Process and threads of the Windows OS.
Then, it talks about supervisor which seems to be the core of the system
which takes care of the process management, resource allocation,
scheduling and accounting, followed by a discussion of the primitive
operations such as fork, quit, join, lock, unlock, etc. I was expecting
to see more about the inter-process synchronization and communication
techniques. The paper does point out the lock/unlock problem, however
the authors do not attempt to give a good solution (I felt setting the
time limit is a very primitive solution). It covers the scenario where
one process spawns another and waits for the spawned process to
complete, although nothing is mentioned about synchronizing of two
independent processes.
The next two sections of the paper discuss "Inferior Spheres of
Protection" and "Protected Entry Points" which I thought were nice
features. The idea behind an inferior sphere is that it is a distinct
sphere, including distinct C-List, computation space, and processes,
from the parent "superior" sphere that created it. This allows the
superior sphere to debug another program without jeopardizing itself or
the data and procedural segments in its sphere of protection, while also
maintaining the ability to examine and control what the program is
doing. In the case of a "protected entry point," a superior sphere is
"granted" the capability to execute another sphere's procedural segment,
but when it goes to execute it, an inferior sphere is created, wherein
the procedure is executed exactly as the granting sphere intended.
Lastly it talks about the "Directories and Naming". One thing that
surprised me was that the naming scheme adopted does not allow the names
of objects in the system to ever be changed. They could have considered
some alternative approaches instead of just accepting it. Other than
that, the concepts like the Directory structure, Ownership and Retained
Objects were nice to read through.
In general, it was a good paper with a lot of interesting ideas. But I
had to concentrate a lot to understand the concepts and the usefulness
of the meta-instructions.
This archive was generated by hypermail 2.1.6 : Mon Jan 12 2004 - 15:21:46 PST