From: Justin Voskuhl (justinv_at_microsoft.com)
Date: Wed Jan 07 2004 - 15:38:54 PST
In this paper Dijkstra gives an overview of a system he built for the
mathematics department at the Technological University at Eindhoven.
His system is designed to allow multiple programs to run on a single
computer with extremely limited resources. His system is divided into
layers, each of which has very specific duties relative to the others.
The first layer is designed to handle the interrupts from the real-time
clock and schedules the processor time. The second layer is designed to
allow programs to deal with memory as a set of segments, which can be
located either on the drum or in main memory. Levels above this level
deal only with memory as segments. In the third layer we have the
message interpreter which handles interrupts from the console operator's
input and output. In the fourth level an abstraction for logical
communication units is introduced to allow programs to interact with I/O
in a more natural way. The higher levels are user mode programs and
operator consoles. What follows is a description of what the design
process they went through was. They spent a lot of up front design time
working out what the different layers had to be and thinking through the
internal consistency of the system. He gives a few pointers for groups
building systems, such as how to allocate your human resources and
generally the level of talent you need to implement a system like THE.
This archive was generated by hypermail 2.1.6 : Wed Jan 07 2004 - 15:38:56 PST