Review of the "THE" system

From: Jeff Duzak (jduzak_at_exchange.microsoft.com)
Date: Wed Jan 07 2004 - 14:30:06 PST

  • Next message: Cliff Schmidt: "review of Dijkstra paper on the "THE" Multiprogramming System"

    In this paper, Dijkstra discusses the process of development and some implementation details of the "THE" operating system.
     
    My first reaction was to be astonished that a multitasking system was developed as early as 1968, considering that my first exposure to a multitasking system on a personal computer was not until the early 1990's with Windows. Further, I was surprised that the structure of the system was so similar to the structure of a modern operating system. The hierarchy that Dijkstra describes, with levels 0 through 5, brings to mind the ring structure of Windows. The synchronization devices that Dijkstra mentions (the semaphore, mutex, and critical section) are the same as are used today.
     
    It is also surprising to me that, despite the fact that the idea of abstraction is so well described by Dijkstra in 1968, it is still underutilized today. Programmers still seem very reluctant to let code which operates in a higher abstraction layer be ignorant of what's going on in the lower abstraction layers. It is definitely true that knowledge of the implementation of a lower abstraction layer can help you to write better-performing code, but it defeats the purpose of an abstraction layer.
     
    It is interesting to me that most of the members of the development group are mathematicians, and the approach to the development of the system seems to reflect that fact. High emphasis is placed on pre-verification of concepts, and supposed proofs of correctness. Dijkstra claims that this approach is one of this projects main contributions to the art. This is one area in which his ideas do not seem to have panned out over the passage of time. Today, applications are too complex to have the correctness of their implementation proven a priori, and the vast majority of software developers are not mathematicians. In my experience, far more emphasis today is placed on testing than proofs of design.


  • Next message: Cliff Schmidt: "review of Dijkstra paper on the "THE" Multiprogramming System"

    This archive was generated by hypermail 2.1.6 : Wed Jan 07 2004 - 14:30:07 PST