The programming language concurrent pascal
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 Phrasesstructured multiprogramming concurrent programming languages hierarchical operating systems concurrent processes monitors classes abstract data types access rights scheduling
Unable to display preview. Download preview PDF.
- 2.Brinch Hansen, P. Operating system principles. Prentice-Hall, July 1973.Google Scholar
- 4.Brinch Hansen, P. The nucleus of a multiprogramming system. Comm. ACM 13, 4 (Apr. 1970), 238–50.Google Scholar
- 6.Brinch Hansen, P. Concurrent programming concepts. ACM Computing Reviews 5, 4 (Dec. 1974), 223–45.Google Scholar
- 7.Brinch Hansen, P. A programming methodology for operating system design. Proc. IFIP 74 Congress, (Aug. 1974), 394–97.Google Scholar
- 8.Dijkstra, E. W. Hierarchical ordering of sequential processes. Acta Informatica 1, 2 (1971), 115–38.Google Scholar
- 9.Simon, H. A. The architecture of complexity. Proc. American Philosophical Society 106, 6 (1962), 468–82.Google Scholar
- 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