Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Structured multiprogramming

Published: 01 July 1972 Publication History

Abstract

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.

References

[1]
Wirth, N. The programming language Pascal. Acta Informatica 1, 1 (1971), 35-63.
[2]
Brinch Hansen, P. An outline of a course on operating system principles. International Seminar on Operating System Techniques, Belfast, Northern Ireland, Aug.-Sept. 1971.
[3]
Hoare, C.A.R. Towards a theory of parallel programming. International Seminar on Operating System Techniques, Belfast, Northern Ireland, Aug.-Sept. 1971.
[4]
Dijkstra, E.W. Cooperating sequential processes. Technological U., Eindhoven, 1965. Reprinted in Programming Languages, F. Genuys (Ed.), Academic Press, New York, 1968.
[5]
Conway, M.E. A multiprocessor system design. Proc. AFIPS 1963 FJCC Vol. 24, Spartan Books, New York, pp. 139-146.
[6]
Courtois, P.J., Heymans, F., and Parnas, D.L. Concurrent control with "readers" and "writers." Comm. ACM 14, 10 (Oct. 1971), 667-668.
[7]
Brinch Hansen, P. A comparison of two synchronizing concepts. Acta Informatica 1, 3 (1972), 190-199.
[8]
Brinch Hansen, P. The nucleus of a multiprogramming system. Comm. ACM 13, 4 (Apr. 1970), 1238-250.

Cited By

View all
  • (2023)From Monitors to Monitors: A Primitive HistoryMinds and Machines10.1007/s11023-023-09632-234:S1(51-71)Online publication date: 5-Apr-2023
  • (2021)Computational and Proof Complexity of Partial String AvoidabilityACM Transactions on Computation Theory10.1145/344236513:1(1-25)Online publication date: 21-Jan-2021
  • (2021)All Classical Adversary Methods Are Equivalent for Total FunctionsACM Transactions on Computation Theory10.1145/344235713:1(1-20)Online publication date: 28-Jan-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Communications of the ACM
Communications of the ACM  Volume 15, Issue 7
July 1972
209 pages
ISSN:0001-0782
EISSN:1557-7317
DOI:10.1145/361454
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 July 1972
Published in CACM Volume 15, Issue 7

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. concurrent processes
  2. critical regions
  3. mutual exclusion
  4. operating systems
  5. process communication
  6. programming languages
  7. shared data
  8. structured multiprogramming
  9. synchronizing events

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)87
  • Downloads (Last 6 weeks)17
Reflects downloads up to 13 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2023)From Monitors to Monitors: A Primitive HistoryMinds and Machines10.1007/s11023-023-09632-234:S1(51-71)Online publication date: 5-Apr-2023
  • (2021)Computational and Proof Complexity of Partial String AvoidabilityACM Transactions on Computation Theory10.1145/344236513:1(1-25)Online publication date: 21-Jan-2021
  • (2021)All Classical Adversary Methods Are Equivalent for Total FunctionsACM Transactions on Computation Theory10.1145/344235713:1(1-20)Online publication date: 28-Jan-2021
  • (2021)BibliographyThe Art of Multiprocessor Programming10.1016/B978-0-12-415950-1.00033-1(533-540)Online publication date: 2021
  • (2021)Software basicsThe Art of Multiprocessor Programming10.1016/B978-0-12-415950-1.00031-8(497-518)Online publication date: 2021
  • (2021)Monitors and blocking synchronizationThe Art of Multiprocessor Programming10.1016/B978-0-12-415950-1.00018-5(183-200)Online publication date: 2021
  • (2020)Human Data ModelACM Transactions on Computing for Healthcare10.1145/34025241:4(1-39)Online publication date: 30-Sep-2020
  • (2020)Wearable Physical Activity Tracking Systems for Older Adults—A Systematic ReviewACM Transactions on Computing for Healthcare10.1145/34025231:4(1-37)Online publication date: 30-Sep-2020
  • (2020)Explaining Financial Uncertainty through Specialized Word EmbeddingsACM/IMS Transactions on Data Science10.1145/33430391:1(1-19)Online publication date: 12-Mar-2020
  • (2020)Independent forward progress of work-groupsProceedings of the ACM/IEEE 47th Annual International Symposium on Computer Architecture10.1109/ISCA45697.2020.00087(1022-1035)Online publication date: 30-May-2020
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media