John-Paul Fryckman (fryckman@SDSC.EDU)
Thu, 11 May 2000 02:48:44 -0700 (PDT)

To be or not to be a Monitor


C.A.R. Hoare structured an operating system using Brinch-Hansen's
monitors. He sets out in a formal fashion to describe his
implementation. The purpose for this is to give a proof that
his system works. OSes need a way to synchronize access to
critical regions or resources and monitors provide that, so
proving that they work is very important.

Hoare describes the semantics of the monitor and states that
it can implement the functionality of a semaphore. Then he
claims that semaphores can be used to implement monitors. He
also makes an analogy between data representations and monitors
and uses the proof structure of the latter to prove the former.
The paper also describes scheduling properties of monitors and
applications to many key elements of an OS.

Mr. Hoare does an excellent job in constructing his thoughts as
well as the formality used in his paper. He lists many great
points to remember in implementing monitors.

Monitors in Mesa

This paper addresses the problem of monitors used in production
level OSes. Furthermore, it addresses how Mesa solves these
problems. Some of these problems include program semantics,
creating monitors, wait calls in nested monitors, exception
handling, and scheduling. The paper goes into describing
how preemptive schedulers are better than nonpreemptive, and
various details of mesa monitors and the classic textbook
problems of deadlock. All in all this paper states their
problems in designing Mesa's monitors. It is useful to have this
in mind when designing monitors and using them. The layout
of the paper is clear and to the point.