From: Greg Green (ggreen_at_cs.washington.edu)
Date: Tue Jan 06 2004 - 19:42:20 PST
This paper describes an early operating system. The system is not
multiuser but does run multiple processes. The hardware had drum
storage, core memory, and used interrupts. It also had several
peripherals. The os used a concept of paged memory, with the allowed
memory space being much larger than the available memory, with pages
being swapped to the drum storage when necessary. The os was designed
with 5 different logical levels of abstraction. Each level provided
abstraction for the layer above it. Level 0 was scheduling and timer
interrupt management. Level 1 controlled the drum, the management of
pages, and associated interrupts. Level 2 had messages to and from
peripherals. And so on.
The paper made some questionable assertions about what an outstanding
and bug-free system they had made. It appears that the review
committee had the same opinion and asked for some backup, giving us
appendix a. As an aside, I found his comments on how having people
working on something half-time was very detrimental to productivity. I
have also found this to be true.
He also talked at some length about having thorough testing programs
at each level of abstraction. He also mentioned that these types of
tests are difficult to conceive and implement. I would agree
whole-heartedly. That is probably why I see it happen so rarely in
practice, therefore, the low level of quality in a lot of software.
On the whole, the paper is interesting to see how many of the concepts
of a modern operating system were implemented such a long time ago (in
terms of computer science measure)
This archive was generated by hypermail 2.1.6 : Tue Jan 06 2004 - 19:42:22 PST