Abstract
The mutual exclusion problem introduced (as far as we know) by Dijkstra in 1965 is intriguing because on the one hand it appears to be typical of a broad class of important systems problems and on the other poses difficult problems of mathematization. There has been extensive attention to this (and other synchronization problems) since that date. Nevertheless our approach to the problem differs from all the others in at least two important ways. First: we take the problem to be “construct from n uncoordinated sequential processes, n coordinated ones which satisfy (1) mutual exclusion, (2) fairness and (3) simulation.” Second: our mathematical model can directly represent simultaneous actions. Since we do not constrain the synchronization in some of the usual ways, however, the realm of possible solutions is much broader than considered elsewhere. The main solution we offer is simple in that each process need read only one binary variable (or register), viz. its own, and write in one, viz. its neighbor’s. The emphasis of our approach is in the mathematical formulation of the problem, and the proof that the solution satisfies the desired properties, rather than in the novelty of the solution itself. The other solutions offered serve to emphasize the enormous differences in implementation associated with what we call the “conceptual solution,” and the fact that instructions (or atomic actions) don’t compose i.e. a sequence of two (single entry — single exit) instructions of a process is not system equivalent to any single instruction. Contrary to many other solutions to the mutual exclusion problem, the solutions given here do not employ a test and set primitive i.e. an indivisible test and set instruction.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.