Abstract
In the last chapter we have discussed systems with several processes and how to simulate concurrent processes by time-sharing a single processor. Now we consider the inverse situation, where several processors participate in the execution of a single process. For the sake of simplicity, let us look at a cyclic process consisting of a producing and a consuming part. Let the process be formulated as
Now assume that each part can be executed by a specific processor only. We recognize that at any time only one of the two processors can be active. Hence they need to be synchronized, which is easily accomplished by the introduction of a synchronization variable s with the meaning of, say, “the consumer is active” (and with initial value FALSE). Each of the two sequential processors is now describable by its own program, which is again cyclic.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
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). Device Handling, Concurrency, and Interrupts. In: Programming in Modula-2. Text and Monographs in Computer Science. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-83565-0_31
Download citation
DOI: https://doi.org/10.1007/978-3-642-83565-0_31
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-83567-4
Online ISBN: 978-3-642-83565-0
eBook Packages: Springer Book Archive