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.
%0 Journal Article
%1 Hoare:1974:MOS
%A Hoare, C. A. R.
%C New York, NY, USA
%D 1974
%I ACM
%J Commun. ACM
%K Locks Monitors Synchronization
%N 10
%P 549--557
%R 10.1145/355620.361161
%T Monitors: An Operating System Structuring Concept
%V 17
%X 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.
@article{Hoare:1974:MOS,
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 disk head optimizer, and a version of the problem of readers and writers.},
acmid = {361161},
added-at = {2013-08-01T17:24:09.000+0200},
address = {New York, NY, USA},
author = {Hoare, C. A. R.},
biburl = {https://www.bibsonomy.org/bibtex/24b9888b1b92dce984b48252e319e5940/gron},
description = {Monitors},
doi = {10.1145/355620.361161},
interhash = {ccfa5e3ca977f6d81e1433b1923d60f9},
intrahash = {4b9888b1b92dce984b48252e319e5940},
issn = {0001-0782},
issue_date = {Oct. 1974},
journal = {Commun. ACM},
keywords = {Locks Monitors Synchronization},
month = oct,
number = 10,
numpages = {9},
pages = {549--557},
publisher = {ACM},
timestamp = {2013-08-01T17:24:09.000+0200},
title = {Monitors: An Operating System Structuring Concept},
volume = 17,
year = 1974
}