On multiprogramming, machine coding, and computer organization

  • Authors:
  • Niklaus Wirth

  • Affiliations:
  • Eidgenössische Technische Hochschule, Zurich, Switzerland

  • Venue:
  • Communications of the ACM
  • Year:
  • 1969

Quantified Score

Hi-index 48.25

Visualization

Abstract

The author feels that the interrupt feature which is available in most modern computers is a potent source of programming pitfalls and errors, and that it therefore may heavily contribute to the unreliability of programs making use of it. A programming scheme is presented which avoids the concept of the interrupt and permits the specification of concurrent (or pseudoconcurrent) activities in a supposedly more perspicuous manner. It is intended to serve as a basis for the construction of operating systems, which are prime examples of programs with concurrent activities. The scheme includes a set of basic instructions for the generation, termination, and synchronization of parallel processes. A set of routines representing these instructions and thereby simulating a hypothetical machine organization has been implemented and tested on the IBM System/360. Two programs using these instructions, written in PL360, are presented.