Letter from McKeag to Dijkstra


22 July 1971

The T.H.E. multiprogramming system — as designed and implemented by Dijkstra, Bron, Habermann, Hendriks, Ligtmans, and Voorhoeve — was studied by Mike McKeag during his visit to Eindhoven some time during the first half of 1971. Subsequently, McKeag went back to his university in Belfast (in Hoare's research group) where he wrote a report of the T.H.E. system. That report was sent to Dijkstra on 22 July 1971 with a cover letter stating:

Dear Professor Dijkstra,

I enclose a copy of the report I have written following my most enjoyable visit to Eindhoven earlier this year.

There are still a number of points that I have not completely understood and so I am writing to Dr. Bron in the hope that he will enlighten me. Subsequently I hope to produce a short supplement to the report to correct any mistakes and to amplify the description and evaluation of various aspects of the system.

I am sorry you will not be able to attend our Seminar in August but I look forward to meeting Dr. Bron and Mr. Martin again.

Yours sincerely,

Mike McKeag

Also McKeag's supplement (mentioned in the above passage) eventually reached Dijkstra.

Without delving into the details of McKeag's report here, it seems clear that the structure underlying Dijkstra's T.H.E. system is, at least in part, a continuation of what Dijkstra had carried through with his ALGOL translator in 1960 (which is described in my paper). In his T.H.E. system,  Dijkstra introduced separate levels of concern. Each level corresponds with one process and each such process operates entirely in terms of processes (and resources) at lower levels, unaware of what processes (and resources) exist at higher levels. For example, at the lowest level, the dispatching of processor time to processes occurs and above this level the actual number of processors in the system is irrelevant. One level higher, the mapping of the one-level virtual store onto the two-level physical store takes place. The implication is that all higher processes work in terms of one large shared virtual store, they are not aware of the underlying fact that the physical store contains a drum and a core store. This is very similar to the Dijkstra-Zonneveld compiler for ALGOL.



McKeag's report

Hi, Would you consider publishing McKeag's report here? I'd be very interested to read it.

Copyright violation

Dear Kevin,

Though I have McKeag's report in my possession, this does not mean that I am allowed to publish it. Either McKeag still has the copyright of that report, or he handed it over to the University of Belfast.

Of course, if you or someone else could obtain permission from the copyright holder to publish it, then I would be very eager to put McKeag's report online.

best wishes,

uncommon common-sense

T.H.E. Os was best of its kind. Today many systems mimic it, still many of us donot understand the importance of "separation of concern"...that's the most worrying part, simply this can be shown opening some of the Os text books...no discussion of T.H.E Os can be found, if at all, there may be such explanation be found there for which again another explanation is needed!

T.H.E. Multiprogramming System

I have now sent a scan of the final published version of my paper on the THE Multiprogramming System to Edgar Daylight in case he wishes to make it available on this website. It is a revised and corrected version of the working papers that he has mentioned. We found that the THE Multiprogramming System was an inspiring example of good design and it considerably influenced both the Queen's University of Belfast group, led by Tony Hoare, and also Per Brinch Hansen and his group in the U.S.A. in the subsequent design of operating systems and the development of high level languages for parallel programming.