From: Chuck Reeves (creeves_at_windows.microsoft.com)
Date: Tue Jan 06 2004 - 19:02:42 PST
Review of The Structure of the "THE"-Multiprogramming system.
Written By Chuck Reeves
The paper describes the efforts of a team from the University of
Eindhoven in the Netherlands, headed by Edsger W. Dijkstra to develop
an operating system for a Dutch computer, an EL X8. The goal was to
produce an operating system that supported the execution of short
programs and allowing them to drive a limited set of peripheral devices
including paper tape readers/writers, a plotter and printers.
The author provides some discussion surrounding some of the decisions
made during the design and implementation of the system. It
includes some intriguing statements:
"We have found that it is possible to design a refined multiprogramming
system in such a way that its logical soundness can be proved
a priori and its implementation can admit exhaustive testing".
"Finally we learned the art of reasoning by which we could prove that
the society composed of processes thus mutually synchronized by
each other would indeed in its time behavior satisfy all requirements."
I was disappointed to find that no logical proofs were submitted to
support these statements. Dijkstra appears to reach these
conclusions by way of exhaustive testing.
The paper does provide an insightful description of the primary
"objects" in the system, their function and interaction. This includes
a paged memory manager (called a segment controller), a console (called
a message interpreter) and other device abstractions. These
objects and other executing programs function as distinct sequential
processes organized into a 5 level hierarchy.
The paper includes some detailed discussion of the design and use of
"semaphores" (interesting that this term required quotes back
then :-) ). The primitives were used to synchronize the access of
executing processes to critical resources (e.g. processor) in the
system.
This archive was generated by hypermail 2.1.6 : Tue Jan 06 2004 - 19:02:52 PST