Skip to main content

Monitors: An Operating System Structuring Concept

  • Chapter

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.

Keywords

  • Proof Rule
  • Signal Operation
  • Alarm Clock
  • Procedure Release
  • Buffer Pool

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-1-4757-3472-0_10
  • Chapter length: 23 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   109.00
Price excludes VAT (USA)
  • ISBN: 978-1-4757-3472-0
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   149.00
Price excludes VAT (USA)
Hardcover Book
USD   149.99
Price excludes VAT (USA)

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • Brinch Hansen, P. 1972a. Structured multiprogramming. Communications of the ACM 15, 7 (July), 574–578.

    CrossRef  Google Scholar 

  • Brinch Hansen. P. 1972b. A comparison of two synchronizing concepts. Acta Informatica 1, 190–199,

    CrossRef  Google Scholar 

  • Brinch Hansen, P. 1973. Operating System Principles. Prentice-Hall, Englewood Cliffs, NJ, (July).

    MATH  Google Scholar 

  • Courtois, P.J., Heymans, F. and Parnas, D.L. 1971a. Concurrent control with readers and writers. Communications of the ACM 14, 10 (October), 667–668.

    CrossRef  Google Scholar 

  • Courtois, P.J., Heymans, F. and Parnas, D.L. 1971b. Comments on “A comparison of two synchronizing concepts.” Acta Informatica1, 375–376.

    CrossRef  Google Scholar 

  • 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. 1968b. A constructive approach to the problem of program correctness. BIT8, 174–186.

    MATH  CrossRef  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. 1972b. Information streams sharing a finite buffer. Information Processing Letters 1, 5 (October), 179–180.

    CrossRef  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 

  • Hoare, C.A.R. 1972b. Proof of correctness of data representations. Acta Informatica1, 271–281.

    MATH  CrossRef  Google Scholar 

  • Hoare, C.A.R. 1973. A structured paging system. Computer Journal 16, 3 (August), 209–215.

    MATH  CrossRef  Google Scholar 

  • Wirth, N. 1971. The programming language Pascal. Acta Informatica1, 35–63.

    MATH  CrossRef  Google Scholar 

Download references

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 1974 Springer Science+Business Media New York

About this chapter

Cite this chapter

Hoare, C.A.R. (1974). Monitors: An Operating System Structuring Concept. In: Hansen, P.B. (eds) The Origin of Concurrent Programming. Springer, New York, NY. https://doi.org/10.1007/978-1-4757-3472-0_10

Download citation

  • DOI: https://doi.org/10.1007/978-1-4757-3472-0_10

  • Publisher Name: Springer, New York, NY

  • Print ISBN: 978-1-4419-2986-0

  • Online ISBN: 978-1-4757-3472-0

  • eBook Packages: Springer Book Archive