The Programming Language Concurrent Pascal

  • Per Brinch Hansen


The paper describes a new programming language for structured programming of computer operating systems. It extends the sequential programming language Pascal with concurrent programming tools called processes and monitors. Part I explains these concepts informally by means of pictures illustrating a hierarchical design of a simple spooling system. Part II uses the same example to introduce the language notation. The main contribution of Concurrent Pascal is to extend the monitor concept with an explicit hierarchy of access rights to shared data structures that can be stated in the program text and checked by a compiler.


Virtual Machine Permanent Variable Exclusive Access Private Variable Language Notation 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Brinch Hansen, P. 1970. The nucleus of a multiprogramming system. Communications of the ACM 13, 4 (April), 238–250.zbMATHCrossRefGoogle Scholar
  2. Brinch Hansen, P. 1972. Structured multiprogramming. Communications of the ACM 15, 7 (July), 574–578.CrossRefGoogle Scholar
  3. Brinch Hansen, P. 1973. Operating System Principles. Prentice-Hall, Englewood Cliffs, NJ, (July).zbMATHGoogle Scholar
  4. Brinch Hansen, P. 1974a. A programming methodology for operating system design. Proceedings of the IFIP Congress 74, Stockholm, Sweden, (August) . North-Holland, Amsterdam, The Netherlands, 394–397.Google Scholar
  5. Brinch Hansen, P. 1974b. Concurrent programming concepts. ACM Computing Surveys 5, 4 (December), 223–245.CrossRefGoogle Scholar
  6. Dahl, O.-J., and Hoare, C.A.R. 1972. Hierarchical program structures. In Structured Programming, O.-J. Dahl, E.W. Dijkstra, and C.A.R. Hoare, Eds. Academic Press, New York.Google Scholar
  7. Dijkstra, E.W. 1971. Hierarchical ordering of sequential processes. Acta Informatica 1, 2, 115–138.MathSciNetCrossRefGoogle Scholar
  8. Hoare, C.A.R. 1974. Monitors: An operating system structuring concept. Communications of the ACM 17, 10 (October), 549–557.zbMATHCrossRefGoogle Scholar
  9. Simon, H.A. 1962. The architecture of complexity. Proceedings of the American Philosophical Society 106, 6, 468–482.Google Scholar
  10. Wirth, N. 1971. The programming language Pascal. Acta Informatica 1, 1, 35–63.MathSciNetzbMATHCrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 1975

Authors and Affiliations

  • Per Brinch Hansen

There are no affiliations available

Personalised recommendations