CS262A Reading Summary 17

Experience with Processes and Monitors in Mesa

B. W. Lampson et al
Summary by Feng Zhou
10/16/2002

3 key features,
  1. A different model of monitor notification is introduced in the paper. Different from Hoare's model, process waiting on the monitor is not executed just after it is notified. Rather, it is only put into the ready queue and thus granted the right to compete for the monitor later. This is model is much easier to implement than Hoare's model and also better in the sense that the notifier does not relinquint CPU immediate, which is often not desired.
  2. Building the concurrency facility into the language itself is a good idea, which has been proved by the success of languages like Java. This integration is achieved by only moderate modification to the language and makes programs a lot more concise and clearer. Creation and manipulation on "processes" are done very similar to those on procedures. Monitor acquiring is indicated by markings on procedure declarations.
  3. The implementation of processes and monitors are discussed, which provides framework for implementation of this type of systems. In the center of implementation are four queues and data structures for different object (module, procedure, ...). One interesting thing is that quite a large part of the functionality is implemented by the processor itself. This is reasonable because these primitives are actually critical to the performance of the system.

1 flaws:

The 'processes' mentioned in this paper are probably threads, because they don't have separate address spaces. This terminology difference confuses me.