skip to main content
article
Free Access

Monitor classification

Published:01 March 1995Publication History
Skip Abstract Section

Abstract

One of the most natural, elegant, and efficient mechanisms for synchronization and communication, especially for systems with shared memory, is the monitor. Over the past twenty years many kinds of monitors have been proposed and implemented, and many modern programming languages provide some form of monitor for concurrency control. This paper presents a taxonomy of monitors that encompasses all the extant monitors and suggests others not found in the literature or in existing programming languages. It discusses the semantics and performance of the various kinds of monitors suggested by the taxonomy, and it discusses programming techniques suitable to each.

References

  1. ADAMS, J. M., AND BLACK, A. P. 1982. On proof rules for momtors. Oper. Syst. Rev. 16, 2 (Apr.,), 18-27. Google ScholarGoogle Scholar
  2. ADAMS, J. M., AND BLACK, A. P. 1983. Letter to the editor. Oper. Syst. Rev. 17, i (Jan.), 6-8.Google ScholarGoogle Scholar
  3. ANDREWS, G. R., AND SCHNEIDER, F. B. 1983. Concepts and notations for concurrent programming. ACM Comput. Surv. 15, i (Mar.), 3 43. Google ScholarGoogle Scholar
  4. ANDREWS, G.R. 1991. Concurrent Programming: Principles and Practice. Benjamin/Cummings, Redwood City, Calif. Google ScholarGoogle Scholar
  5. BRI~CH HANSEN, P. 1973. Operating' System Prmciples. Prentice-Hall, Englewood Cliffs, N.J. Google ScholarGoogle Scholar
  6. BRINCH HANSEN, P. 1975. The programming language concurrent pascal. IEEE Trans. Softw. Eng. 2 (June), 199--206.Google ScholarGoogle Scholar
  7. BUHR, P. A., ANn STROOBOSSCHER, R.A. 1990. The /~System: Providing lightweight concurrency on shared-memory multiprocessor computers running UNIX. Softw. Pract. Exper. 20, 9 (Sept.), 929-963.Google ScholarGoogle Scholar
  8. BUHR, P. A., DITCHFIELD, G., STROOBOSSCHER, R. A., YOUNGER, B. M., AND ZARNKE, C. R. 1992. ~C + +: Concurrency in the object-oriented Language C + +. Soft. Pract. Exper. 22, 2 (Feb.), 137-172. Google ScholarGoogle Scholar
  9. CAMPBELL, R. H., AND HABERMANN, A. N. 1974. The Specification of Process Synchronization by Path Expressions. Lecture Notes in Computer Science, vol. 16. Springer-Verlag, New York. Google ScholarGoogle Scholar
  10. CARDELLI, L., DONAHUE, J., GLASSMAN, L., JORDAN, M., KALSOW, B., AND NELSON, G. 1988. Modula-3 report. Tech. Rep. 31, Systems Research Center, Pale Alto, Calif.Google ScholarGoogle Scholar
  11. CHERITON, D. R. 1982. The Thoth System: Multi-Process Structuring and Portability. American Elsevier, New York. Google ScholarGoogle Scholar
  12. CHERITON, D.R. 1988. The v distributed system. Commun. ACM 31, 3 (Mar.), 314-333. Google ScholarGoogle Scholar
  13. COURTOIS, P. J. HEYMANS, F., AND PARNAS, D. L. 1971. Concurrent control with readers and writers. Commun. ACM 14, 10 (Oct.), 667-668. Google ScholarGoogle Scholar
  14. DAHL, O.-J., MYHRHAUG, B., AND NYGAARD, K. 1970. S~mula67 Common Base Language. Norwegian Computing Center, Oslo, Norway. Google ScholarGoogle Scholar
  15. DIJKSTRA, E. W. 1968. The structure of the "the"-multiprogramming system. Commun. ACM 11, 5 (May), 341-346. Google ScholarGoogle Scholar
  16. FORTT~.R, M. 1989. Study of monitors. Master's thesis, Dept. of Computer Science, Univ. of Waterloo, Waterloo, Ont.Google ScholarGoogle Scholar
  17. GENTLEMAN, W.M. 1985. Using the harmony operating system. Tech. Rep. 24685, National Research Council of Canada, Ottawa.Google ScholarGoogle Scholar
  18. GOSLING, J., ROSENTHAL, D. S. H., AND ARDEN, R. J. 1989. The NeWS Book. Springer Verlag, New York.Google ScholarGoogle Scholar
  19. GRIES, D. 1981. The Science of Computer Programming. Springer Verlag, New York.Google ScholarGoogle Scholar
  20. HANSEN, P. B. 1981a. The design of Edison. Softw. Pract. Exper. 11, 4 (Apr.), 363-396.Google ScholarGoogle Scholar
  21. HANSEN, P.B. 1981b. Edison--a multiprocessor language. Softw. Pract. Exper. 11, 4 (Apr.), 325-361.Google ScholarGoogle Scholar
  22. HANSEN, P. B. 1981c. Edison programs. Softw. Pract. Exper. 11, 4 (Apr.), 397-414.Google ScholarGoogle Scholar
  23. HOARE, C. A. R. 1974. Monitors: An operating system structuring concept. Commun. ACM 17, 10 (Oct.), 549-557. Google ScholarGoogle Scholar
  24. HOLT, R. C., AND CORDY, J.R. 1988. The Turing programming language. Commun. ACM 31, 12 (Dec.), 1410-1423. Google ScholarGoogle Scholar
  25. HOLT, R.C. 1992. Turing Reference Manual, 3rd ed. Holt Software Associates, Inc.Google ScholarGoogle Scholar
  26. HOWARD, J. H. 1976a. Proving monitors. Commun. ACM 19, 5 (May), 273-279. Google ScholarGoogle Scholar
  27. HOWARD J.H. 1976b. Signalling in monitors. In Proceedings of the Second International Conference on Software Engineering'. San Francisco, 47-52. Google ScholarGoogle Scholar
  28. HOWARD, J.H. 1982. Reply to "on proof rules for monitors." Oper. Syst. Rev. 16, 5 (Oct.), 8-9. Google ScholarGoogle Scholar
  29. KERNIGHAN, B. W., AND RITCHIE, D.M. 1988. The C Programming Language, 2nd ed., Prentice Hall, Englewood Cliffs, N.J. Google ScholarGoogle Scholar
  30. KESSELS, J. L.W. 1977. An alternative to event queues for synchronization in monitors. Commun. ACM 20, 7 (July), 500-503. Google ScholarGoogle Scholar
  31. LAMPSON, B. W., AND REDELL, D.D. 1980. Experience with processes and monitors in mesa. Commun. ACM23, 2 (Feb.), 105 117. Google ScholarGoogle Scholar
  32. MITCHELL, J. G., MAYBURY, W., AND SWEET, R. 1979. Mesa language manual. Tech. Rep. CSL-79-3, Xerox Pale Alto Research Center.Google ScholarGoogle Scholar
  33. NELSON, G., Ed. 1991. Systems Programming with Modula-3. Prentice-Hall, Englewood Cliffs, N.J. Google ScholarGoogle Scholar
  34. RAJ, R. K., TEMPERO, E., LEVY, H. M., BLACK, A. P., HUTCHINSON, N. C., AND JUL, E. 1991. Emerald: A general-purpose programming language. Softw. Pract. Exper. 21, i (Jan.), 91-118. Google ScholarGoogle Scholar
  35. WIRTH, N. 1985. Programming in Modula-2, 3rd, corrected ed. Texts and Monographs in Computer Science, Springer Verlag, New York. Google ScholarGoogle Scholar

Index Terms

  1. Monitor classification

                  Recommendations

                  Comments

                  Login options

                  Check if you have access through your login credentials or your institution to get full access on this article.

                  Sign in

                  Full Access

                  • Published in

                    cover image ACM Computing Surveys
                    ACM Computing Surveys  Volume 27, Issue 1
                    March 1995
                    121 pages
                    ISSN:0360-0300
                    EISSN:1557-7341
                    DOI:10.1145/214037
                    Issue’s Table of Contents

                    Copyright © 1995 ACM

                    Publisher

                    Association for Computing Machinery

                    New York, NY, United States

                    Publication History

                    • Published: 1 March 1995
                    Published in csur Volume 27, Issue 1

                    Permissions

                    Request permissions about this article.

                    Request Permissions

                    Check for updates

                    Qualifiers

                    • article

                  PDF Format

                  View or Download as a PDF file.

                  PDF

                  eReader

                  View online with eReader.

                  eReader