Communications of the ACM · 1972 · 201 citations · 6 references
ComputingComputer ScienceComputer SystemsOperating SystemsProgramming LanguagesSchedulingConcurrent ProgrammingControl-flow AnalysisCpu SchedulingData-flow AnalysisInterprocess CommunicationSynchronization PrimitivesCompile-time OptimizationConcurrency SemanticsConcurrent ProcessesRuntime SemanticsScheduling Semantics
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.
6
The programming language pascal
Niklaus Wirth · Acta Informatica · 1971 · 723 citations
The nucleus of a multiprogramming system
Per Brinch Hansen · Communications of the ACM · 1970 · 335 citations
A multiprocessor system design
Melvin E. Conway · 1963 · 176 citations · Full text
A comparison of two synchronizing concepts
Brinch Hansen · Acta Informatica · 1972 · 89 citations