Experience with Processes and Monitors in Mesa

Communications of the ACM | , Vol 23(2): pp. 106-117

Originally presented at the 7th ACM Symposium on Operating Systems Principles (SOSP '79), December 1979.

View Publication | View Publication | DOI

The use of monitors for describing concurrency has been much discussed in the literature. When monitors are used in real systems of any size, however, a number of problems arise which have not been adequately dealt with: the semantics of nested monitor calls; the various ways of defining the meaning of wait; priority scheduling; handling of timeouts, aborts and other exceptional conditions; interactions with process creation and destruction; monitoring large numbers of small objects. These problems are addressed by the facilities described here for concurrent programming in Mesa. Experience with several substantial applications gives us some confidence in the validity of our solutions.