(no subject)

Brian TAM (btam@cs.ucsd.edu)
Thu, 11 May 2000 07:58:07 -0700 (PDT)

"Monitors: An Operating System Structuring Concept"

This is the paper that introduced monitors as a primitive
for scheduling synchronous processes in operating systems.
Hoare demonstrates the validity of monitors by using them to
simulate semaphores, which Dijkstra had invented six years
before and shown to be a powerful structural basis for OS's.
He gives a few simple proof rules and various examples for
using monitors, in both OS and "real-world" situations. He
finally proposes that separate monitors for each resource
in an OS environment can be constructed to effect independent
scheduling decisions.

This paper was satisfying in that Hoare does not
overload us with too much mathematical rigor, since he is
only introducing a concept that can be expanded on later in
future papers, when it has proven itself. The thesis that an
operating system can be constructed around monitors is given
some merit with the examples he implements. He himself
raises a few issues that are not adequately addressed, like
the problem of "deadly embrace". But these are technicalities
that can be handled by others more qualified to come up with
solutions. It is enough for Hoare to demonstrate that
programs can be written with monitors satisfying correctness
of execution and fairness in scheduling.

"Experience with Processes and Monitors in Mesa"

This paper describes one early use of monitors to
implement an operating system, Pilot. The monitor concept
had to be modified somewhat to fit the needs of the
programming language, Mesa. Besides Pilot, two other
applications were written in Mesa using processes and
monitors, a calendar system using replicated databases and
an internetwork gateway for packet networks.