Report Number: CS-TR-73-401
Institution: Stanford University, Department of Computer Science
Title: Monitors: an operating system structuring concept.
Author: Hoare, C. A. R.
Date: November 1973
Abstract: This paper develops Brinch-Hansen's concept of a monitor as a method of structuring an operating system. It introduces a form of synchronization, describes a possible method of implementation in terms of semaphores, and gives a suitable proof rule. Illustrative examples include a single resource scheduler, a bounded buffer, an alarm clock, a buffer pool, a disc head optimizer, and a version of the problem of readers and writers.
http://i.stanford.edu/pub/cstr/reports/cs/tr/73/401/CS-TR-73-401.pdf