From: Brian Milnes (brianmilnes_at_qwest.net)
Date: Wed Jan 14 2004 - 09:40:53 PST
> The Structure of the "THE"-Multiprogramming System - Edsgar W. Dijkstra
>
>
>
> The author describes the principles and construction of a
> multi-programming system. The principles are: stick to the interesting
bits,
> pick a solid machine and attempt to learn from your experience. The
software
> engineering experiences mentioned is the loss of time using part time
labor
> and a recommendation to use very skilled labor as OS design is difficult.
> The system was designed for what seems to be batch program execution. The
> author laments two design errors: handling error cases in the machine's
> operation and peripherals and design for debug ability. They achieved a
> pretty remarkably low error rate of 1 instruction/500 instructions written
> detected by inspection and extrapolate this to a very ridiculously high
> correctness statement.
>
>
>
> This system appears to have been the invention of memory pages
> backed up by slower (drum) storage. They have also arranged all OS
> functionality such as device handling with sequential processes arranged
in
> a strict order and communicating using shared memory and the
synchronization
> primitives P and V. The hierarchy is process control, memory allocation,
> message processing which handles sequential character IO to and from the
> teletypes, peripheral processing and finally user programs. The system
was
> tested level by level and could even allow testing to proceed when the
drum
> broke. However, the author makes absurd correctness claims.
>
>
>
> Finally, he describes the famous P and V semaphore
> synchronization and sketches a proof of their correctness for
communicating
> sequential processes.
>
>
>
> This is a very well thought out system for such an early time.
> The author's emphasis on software engineering issues seems quite ahead of
> its time and the P and V semaphores are a basic contribution to our
science.
>
This archive was generated by hypermail 2.1.6 : Wed Jan 14 2004 - 09:41:03 PST