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,
-
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.
-
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.
-
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.