Last updated at 12:34 pm UTC on 17 January 2006
This page collects informaiton related to the Mesa-Style monitor and its possible deployment in Squeak.
A short summary of Andrew Birrell's notes on progarmming with threads: http://www.nicemice.net/amc/os-prelim/summaries/intro-threads.var
The full version of the report summarized above, as a DEC SRC Technical Report: http://www.hpl.hp.com/techreports/Compaq-DEC/SRC-RR-35.pdf
Essentially the same report appears as chapter 4 of Systems Programming with Modula-3
Synchronization primitives for a Multiprocessor. This formal specification actually refers to the version of the primitives that was implemented for Modula-2+, and was presented at SOSP in 1987. A revised version of this paper became chapter 6 of the above book om Modula-3, but I can't find that online.
A prototype Monitors in Squeak using semaphores. Note that there are some changes taht ought to be made to this impleemntation, for example, when siganlling a Mesa-Monitor conditionvariable, it is not reasonable to raise an error if the condition is not true (although it might be a good idea to log a warning, because this will be a performance problem if it happens to often). In addition, some ofthe names ought to be changed. The Alert mechanism is not implemented; nor is broadcast, although the latter is trivial. Here is Chuan-kai Lin's report on the above implementation, which also give some background on monitors and the various semantics.
Andrew's original mail to the Squeak list (12 May 2004).