Vagelis Hristidis (vagelis@cs.ucsd.edu)
Thu, 11 May 2000 01:19:18 -0700

Monitors: An Operating System Structuring Concept

This paper introduces the idea of monitors as a mean of process
synchronization. Then the equivalence of monitors to semaphores is proved.
Some interesting problems that can be solved using monitors are presented
along with their solutions. These problems include the bounded buffer and
the Readers and Writers problems. At the end some useful advise is given to
developers in order to make a number of isolated monitors in an operating
system work together. In general this is a very important classical paper,
since the use of monitors has been adopted by many operating systems and
programming languages.

Experiences with Processes and Monitors in Mesa

This paper presents the synchronization facilities of the Mesa programming
languages, which are the monitors. It describes some problems that may arise
when we use monitors such as nested monitor calls, the meaning of WAIT and
priority scheduling. Monitors are used to address problems like local
concurrent programming, resource sharing and interrupt simulation. The
latter is a very interesting application of monitors. Another contribution
of the paper is the presentation of situation where deadlocks may occur and
methodologies to prevent that. Some ideas about handling priorities in the
lock queues of the monitors are also presented. Finally we are given some
examples of real systems that exploit Mesa's synchronization features.