Structured Multiprogramming

  • Per Brinch Hansen


This paper presents a proposal for structured representation of multiprogramming in a high level language. The notation used explicitly associates a data structure shared by concurrent processes with operations defined on it. This clarifies the meaning of programs and permits a large class of time-dependent errors to be caught at compile time. A combination of critical regions and event variables enables the programmer to control scheduling of resources among competing processes to any degree desired. These concepts are sufficiently safe to use not only within operating systems but also within user programs.


Critical Region Shared Variable Mutual Exclusion User Program Sequential File 
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. 1971. An outline of a course on operating system principles. International Seminar on Operating System Techniques, Belfast, Northern Ireland, (August— September).Google Scholar
  3. Brinch Hansen, P. 1972. A comparison of two synchronizing concepts. Acta Informatica1, 190–199.CrossRefGoogle Scholar
  4. Conway, M.E. 1963. A multiprocessor system design. Proc. AFIPS FJCC 24, Spartan Books, New York, 139–146.Google Scholar
  5. Courtois, P.J, Heymans, F., and Parnas, D.L. 1971. Concurrent control with “readers” and “writers.” Communications of the ACM14, 10 (October), 667–668.CrossRefGoogle Scholar
  6. Dijkstra, E.W. 1965. Cooperating sequential processes. Technological University, Eindhoven. Also in Programming Languages, F. Genyus, Ed. Academic Press, New York, 1968.Google Scholar
  7. Hoare, C.A.R. 1971. Towards a theory of parallel programming. International Seminar on Operating System Techniques, Belfast, Northern Ireland, (August—September).Google Scholar
  8. Wirth, N. 1971. The programming language Pascal. Acta Informatica1, 35–63.zbMATHCrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 1972

Authors and Affiliations

  • Per Brinch Hansen

There are no affiliations available

Personalised recommendations