Monitors: An Operating System Structuring Concept
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 disk head optimizer, and a version of the problem of readers and writers.
KeywordsProof Rule Signal Operation Alarm Clock Procedure Release Buffer Pool
Unable to display preview. Download preview PDF.
- Dahl, O.-J. 1972. Hierarchical program structures. In Structured Programming, O.-J. Dahl, E.W. Dijkstra and C.A.R. Hoare, Eds., Academic Press, New York, 175–220.Google Scholar
- Dijkstra, E.W. 1968a. Cooperating sequential processes. In Programming Languages, F. Genuys, Ed., Academic Press, New York, 43–112.Google Scholar
- Dijkstra, E.W. 1972a. Hierarchical ordering of sequential processes. In Operating Systems Techniques, C.A.R. Hoare and R.H. Perrott, Eds., Academic Press, New York, 72–93.Google Scholar
- Dijkstra, E.W. 1972c. A class of allocation strategies inducing bounded delays only. AFIPS Spring Joint Computer Conference 40, AFIPS Press, Montvale, NJ, 933–936.Google Scholar
- Hoare, C.A.R. 1972a. Towards a theory of parallel programming. In Operating Systems Techniques, C.A.R. Hoare and R.H. Perrott, Eds., Academic Press, New York, 61–71.Google Scholar