From: Slavik Krassovsky (viatk_at_windows.microsoft.com)
Date: Wed Jan 07 2004 - 15:20:24 PST
In this paper dated 1967 Mr. Dijkstra's descries his approach to
design, implementation and testing (or verification) of a rather
advanced for the times operating system THE. The scientific value of THE
comes from several notions: the notion of sequential processes and
notion of hierarchy of such processes. Each process provides a service
of the operating system (processor allocation or memory allocation, work
with I/O devices, etc.) and possess a level in the hierarchy (with
processor allocation being level 0 and level 4 being the user programs).
Only processes of a higher level (bigger number) can request a task from
a lower level process. Sequential processes are in fact organized as
cyclic programs with a special wait (or homing) point at which the
process awaits it's tasks. Essentially the processes are components and
such componentization in conjunction with the hierarchy organization
allows first: simplify testing since each component can be tested
separately and second: theoretically prove that such organization would
in fact never get into deadlock, infinite loop or "lost task" states.
I really enjoyed reading this paper, although indeed it was proven to
be time consuming. I command the seriousness of approach of Mr.
Dijkstra's with regard to an attempt to theoretically assess the
soundness and correctness of the design, although certainly I found
myself cautious with regard to his "guarantee of flawlessness" while
testing is still underway.
Also It was my impression that at the times the paper is written the
common approach to OS design was monolith complex systems that were
doing "everything". Such designs might certainly provide some
performance benefits, however complexity is a concern. Mr. Dijkstra's
paper clearly demonstrates that along with the complexity reduction,
component oriented systems bring other values, like ability to apply
theoretical proofs.
This archive was generated by hypermail 2.1.6 : Wed Jan 07 2004 - 15:20:33 PST