Signalling regions: Multiprocessing in a shared memory reconsidered

  title={Signalling regions: Multiprocessing in a shared memory reconsidered},
  author={Charles W. Reynolds},
  journal={Software: Practice and Experience},
The goal of this paper is to return attention to two problems that arise in the context of supporting the monitor as a mechanism for concurrent programming. This paper will re‐examine the monitor concept in its original context—a multiprocessing environment implemented on a single processor sharing memory with and being interrupted by asynchronous peripheral devices—and will address the two previously unresolved problems. The first is the conflict between the immediate resumption requirement in… 
2 Citations
The invention of concurrent programming
The author summarizes the classic papers and puts them in historical perspective of the pioneering era of the field from the semaphores of the mid 1960s to the remote procedure calls of the late 1970s.
COLIBROS: Educational operating system
This paper gives an overview of educational operating system called COLIBROS, small, object oriented, library operating system, based on micro-kernel concepts, supporting high level concurrency and synchronization primitives, and encapsulating all critical concepts in host operating system user space.


The problem of nested monitor calls revisited
This work proposes the following approach to the problem of nested monitor calls in connection with an intermediate exit from one of the inner levels via a WAIT-operation, and suggests a pair of synchronization operations to be used within a monitor.
Extending Concurrent Pascal to Allow Dynamic Resource Management
This paper proposes the addition to Concurrent Pascal of a new type of program component, to be called a resource manager, which means, dynamic resource allocation can be accomplished both safely and efficiently.
Unfair process scheduling in Modula-2
The unfairness of this process scheduler is surprising, in view of Wirth's statement that the scheduler "must embody a process administration that distributes the processor's time in a fair strategy among the processes".
Signaling in monitors
It is shown that all of the conventions are equivalent except for immediate return, which is strictly weaker than the others, and a modification of immediate return which corrects its weakness and retains its desirable features is proposed.
An alternative to event queues for synchronization in monitors
This paper describes another synchronizing primitive which is nearly as expressive as the conditional wait, but can be implemented more efficiently: an implementation of this primitive in terms of P and V operations is given together with a correctness proof.
Algorithms for mutual exclusion
All of the algorithms in this book have been rewritten in a single language and restructured so that they are easy to understand and compare, and the principles guiding their design are stressed.
Experience with processes and monitors in Mesa
These problems are addressed by the facilities described here for concurrent programming in Mesa, and experience with several substantial applications gives us some confidence in the validity of the solutions.
About the semantic nested monitor calls
Lister discussing this problem [i0] paid attention to the two possible solutions: i) the execution of the Delay operation release exclusion on only the last monitor called (i.e. currently served), 2) the Execution of the delay operation releaseclusion on monitors in stack of calls.
Modula-2 and the monitor concept
The monitor concept [Hoa74] is one approach towards ensuring a reliable concurrent programming environment that encapsulates the shared data area and the procedures that will act on this data.
On the Design of a Language for Programming Real-Time Concurrent Processes
  • H. Schutz
  • Computer Science
    IEEE Transactions on Software Engineering
  • 1979
In providing an overview of the language, the factors motivating the major design choices are discussed and a programming example illustrates how ILIAD might be applied.