Browse Prior Art Database

Locking Mechanism to Control the Communication or Interaction Between Concurrent Processes

IP.com Disclosure Number: IPCOM000042086D
Original Publication Date: 1984-Mar-01
Included in the Prior Art Database: 2005-Feb-03
Document File: 1 page(s) / 12K

Publishing Venue

IBM

Related People

Redding, IG: AUTHOR

Abstract

This article describes a mechanism to control the interaction between concurrent processes. When concurrent processes communicate or interact with each other on a multi-programming or multi-processing system, it is often necessary for each process to be able to restrict the set of actions others are allowed to take and to have a mechanism for altering this set of actions dynamically in accord with changes in its own requirements. The state of each process includes four variables, PROCESSID, ALLOWED, INTENT and TARGETID, which can be located and accessed at any time by any process.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 1 of 1

Locking Mechanism to Control the Communication or Interaction Between Concurrent Processes

This article describes a mechanism to control the interaction between concurrent processes. When concurrent processes communicate or interact with each other on a multi-programming or multi-processing system, it is often necessary for each process to be able to restrict the set of actions others are allowed to take and to have a mechanism for altering this set of actions dynamically in accord with changes in its own requirements. The state of each process includes four variables, PROCESSID, ALLOWED, INTENT and TARGETID, which can be located and accessed at any time by any process. LOCK: Before embarking on a course of action requiring process B's acquiescence, process A sets its own INTENT variable appropriately, its own TARGETID variable to B's process-id and executes a serializing instruction to ensure that the new values of these variables are visible to all CPUs in the configuration. A then checks B's ALLOWED variable to see if B permits A's proposed action. If so, A confirms B's identity by comparing the value of B's PROCESSID variable with A's TARGETID, and if these are equal, A may proceed. QUIESCE ACTIVITY: When B wants to do something which requires that no other process is engaged in certain actions that B previously permitted, it first sets its own ALLOWED variable to forbid those actions which are no longer acceptable and executes a serializing instruction to ensure that the changed value is visible to all CPUs in the configuration. B then examines in turn t...