The programming language concurrent pascal

  • Per Brinch Hansen
Chapter 1.: Concurrency
Part of the Lecture Notes in Computer Science book series (LNCS, volume 46)


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 1 of the paper explains these concepts informally by means of pictures illustrating a hierarchical design of a simple spooling system. Part 2 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.

Key Words and Phrases

structured multiprogramming concurrent programming languages hierarchical operating systems concurrent processes monitors classes abstract data types access rights scheduling 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Wirth, N. The programming language Pascal. Acta Informatica 1, 1 (1971), 35–63.CrossRefGoogle Scholar
  2. 2.
    Brinch Hansen, P. Operating system principles. Prentice-Hall, July 1973.Google Scholar
  3. 3.
    Hoare, C. A. R. Monitors: an operating system structuring concept. Comm. ACM 17, 10 (Oct. 1974), 549–57.CrossRefGoogle Scholar
  4. 4.
    Brinch Hansen, P. The nucleus of a multiprogramming system. Comm. ACM 13, 4 (Apr. 1970), 238–50.Google Scholar
  5. 5.
    Brinch Hansen, P. Structured multiprograming. Comm. ACM 15, 7 (July 1972), 574–78.CrossRefGoogle Scholar
  6. 6.
    Brinch Hansen, P. Concurrent programming concepts. ACM Computing Reviews 5, 4 (Dec. 1974), 223–45.Google Scholar
  7. 7.
    Brinch Hansen, P. A programming methodology for operating system design. Proc. IFIP 74 Congress, (Aug. 1974), 394–97.Google Scholar
  8. 8.
    Dijkstra, E. W. Hierarchical ordering of sequential processes. Acta Informatica 1, 2 (1971), 115–38.Google Scholar
  9. 9.
    Simon, H. A. The architecture of complexity. Proc. American Philosophical Society 106, 6 (1962), 468–82.Google Scholar
  10. 10.
    Dahl, O.-J., and Hoare, C. A. R. Hierarchical program structures. In O.-J. Dahl, E. W. Dijkstra, and C. A. R. Hoare, Structured programming. Academic Press, 1972.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1976

Authors and Affiliations

  • Per Brinch Hansen
    • 1
  1. 1.Information ScienceCalifornia Institute of TechnologyUSA

Personalised recommendations