From: Prasanna Kumar Jayapal (prasak_at_winse.microsoft.com)
Date: Wed Jan 07 2004 - 15:42:41 PST
This Dijkstra's paper (The Structure of the "THE" - Multiprogramming
System) discusses the design of the Multi-programming system, where in a
single computer system can execute multiple programs concurrently. This
is a well structured paper where he talks about the goals, how the
system would be used, the basic principles, and the implementation of
the system and then briefly mentions about the verification methods. He
further goes on to talk about his experience and lessons learned from
this project. And finally, he gives a good overview of the
synchronization primitives and highlights the semaphores in the
appendix.
This paper starts off with a clear goal and defines what they want to
achieve from this multiprogramming system. Then it goes on to describe
the structure of the system giving details about the storage allocation
and followed by the processor allocation and abstractions. It was nice
to see some familiar terms like the "pages" and "segments" being used in
storage which we still use it to date. The most fascinating thing in
this paper was the hierarchies of abstraction (processor allocation,
segment controller, message interpreter, independent-user programs,
etc). I was really surprised to know that people in seventies had
thought of such levels of abstraction and was well aware of its merits.
Then it talks about the design experience, mentioning the problems they
faced, how they solved it, how much time they spent and what
methodologies they used at each stages like the conception stage,
construction stage and verification stages. Later on, it talks about the
benefits of abstraction in the testing phase and goes on to conclude the
paper highlighting the differences between the industrial and university
interpretation of this project.
In the initial progress report, Dijkstra mentions about the resulting
system guaranteed to be flawless. This clearly shows his audacity and
confidence in his design and the system. Although I would have expected
to see more details about the low level implementation of the system and
the proof of his statement as to how he claims to be flawless.
Overall, this paper gives a good overview of the Multiprogramming
system. Although, it is very primitive and lacks some of the
implementation details, it gives an idea of how the concept and the
necessity of an "Operating System" began. A nice paper to start the
"Operating Systems" course I thought.
This archive was generated by hypermail 2.1.6 : Wed Jan 07 2004 - 15:42:44 PST