Abstract
In this chapter we introduce concepts for multiprogramming, i.e. the programming of several, concurrently executed computations. These facilities are deliberately restricted to the formulation of so-called loosely coupled processes. We exclude the area of tightly coupled arrays of processes, considering their field of application as fairly narrow and specialized. Instead, we restrict the discussion to programs that describe several processes that interact relatively infrequently, and are therefore said to be loosely coupled. By infrequently is meant that interaction occurs at a few, well-defined, explicit points in the program, and by a process we understand a sequence of actions, i.e. an inherently sequential process. Programming as encountered so far can therefore be considered as a special case involving one single process only. Inversely, we can inherit for multiprogramming all facilities and techniques learned so far, and we need to add merely a few facilities for the designation of concurrent processes and for their interaction. In this regard we follow the tradition of earlier languages for multiprogramming such as Modula-1 and Brinch Hansen’s Concurrent Pascal.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 1988 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Wirth, N. (1988). Concurrent Processes and Coroutines. In: Programming in Modula-2. Text and Monographs in Computer Science. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-83565-0_30
Download citation
DOI: https://doi.org/10.1007/978-3-642-83565-0_30
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-83567-4
Online ISBN: 978-3-642-83565-0
eBook Packages: Springer Book Archive