Abstract
Dekker's algorithm[9] is the historically first software solution to mutual exclusion problem for 2-process case. The first software solution for n-process case was subsequently proposed by Dijkstra[8]. These two algorithms have become de facto examples of mutual exclusion algorithms, for their historical importance. Since the publication of Dijkstra's algorithm, there have been many solutions proposed in the literature [24, 1, 2]. In that, Peterson's algorithm [21] is one among the very popular algorithms. Peterson's algorithm has been extensively analyzed for its elegance and compactness. This paper attempts to dispel the myths about some of the properties of these three remarkable algorithms, by a systematic analysis.
- J. Anderson, "Lamport on Mutual Exclusion: 27 Years of Planting Seeds", PODC, 3--12, 2001. Google ScholarDigital Library
- J. Anderson and Y. J. Kim, Shared-memory Mutual Exclusion: Major Research Trends Since 1986, Distributed Computing, To appear. Google ScholarDigital Library
- G.R. Andrews, Concurrent Programming : Principles and Practice, The Benjamin / Cummings Publishing Company, 1991. Google ScholarDigital Library
- G.R. Andrews, Foundations of Multithreaded, Parallel, and Distributed Programming, Addison-Wesley, 2000.Google Scholar
- J. Bacon, Concurrent Systems, Addison-Wesley, 1999.Google Scholar
- M. Ben-Ari Principles of Concurrent Programming, PHI, 1982. Google ScholarDigital Library
- L. Bic and A.C. Shaw, The Logical Design of Operating Systems, PHE, 1988. Google ScholarDigital Library
- E.W. Dijkstra, Solution of a Problem in Concurrent Programming Control, CACM, Vol.8(9), Sept., 1965, 569. Google ScholarDigital Library
- E.W. Dijkstra, Cooperating Sequential Processes (Techniche Hogeschool, Eindhoven, 1965). Reprinted in: F. Genuys (ed.), Programming Languages, Academic Press, 1968, 43--112.Google Scholar
- E.W. Dijkstra, Go To Statement Considered Harmful, CACM 11(3), 147--148, 1968. Google ScholarDigital Library
- E. W. Dijkstra. Hierarchical Ordering of Sequential Processes. Acta Informatica, 1(2):115--138, 1971.Google Scholar
- Albert Einstein and Leopold Infeld, The Evolution of Physics - The Growth of Ideas from Early Concepts to Relativity and Quanta, Cambridge University Press, 1971.Google Scholar
- M. Hofri, Proof of a Mutual Exclusion Algorithm - A 'class'ic example, ACM SIGOPS OSR 24(1):18--22, 1990. Google ScholarDigital Library
- R.C. Holt, E.D. Lazowska, G.S. Graham and M.A. Scott, Structured Programming with Operating Systems Applications, Addison-Wesley, 1972.Google Scholar
- T. Kowalttowski and A. Palma, Another Solution of the Mutual Exclusion Problem, IPL (19), 3, 145--146, 1984. Google ScholarDigital Library
- S. Krakowiak, Principles of Operating Systems, The MIT Press, 1988. Google ScholarDigital Library
- N. A. Lynch, Distributed Algorithms, Morgan Kaufmann Publishers inc., 1996. Google ScholarDigital Library
- M. Maekawa, E. Oldehoeft and R. Oldehoeft, Operating Systems: Adavanced Concepts, The Benjamin/Cummings Publishing Company, Inc., 1987. Google ScholarDigital Library
- A. J. Martin, A New Generalization of Dekker's Algorithm for Mutual Exclusion, IPL 23(6), 1986, 295--297. Google ScholarDigital Library
- A. J. Martin, Lecture Notes on "CS139: Concurrency in Computation", California Institute of Technology (www.async.caltech.edu/cs139), 2003.Google Scholar
- G. L. Peterson, Myths About the Mutual Exclusion Problem, IPL 12(3) 1981, 115--116.Google ScholarCross Ref
- J.R. Pinkert and L.L. Wear, Operating Systems Concepts, PHI, 1989. Google ScholarDigital Library
- G. Polya, How to Solve It: A New Aspect of Mathematical Method, Princeton University Press, 1973.Google Scholar
- M. Raynal, Algorithms for Mutual Exclusion, MIT press, 1986. Google ScholarDigital Library
- W. Stallings, Operating Systems: Internals and Design Principles, PHI, 1998. Google ScholarDigital Library
- D. C. Tsichritzis and P.A. Bernstein, Operating Systems, Academic Press, 1976. Google ScholarDigital Library
Recommendations
Fair group mutual exclusion
PODC '03: Proceedings of the twenty-second annual symposium on Principles of distributed computingIn the group mutual exclusion problem [6], which generalizes mutual exclusion [2], a process chooses a session when it requests entry to the Critical Section. A group mutual exclusion algorithm must ensure that the mutual exclusion property holds: If ...
A survey of permission-based distributed mutual exclusion algorithms
The problem of mutual exclusion in distributed systems has attracted considerable attention over the last two decades. The mutual exclusion problem requires that, at a time, only one of the contending processes be allowed to enter its critical section (...
Space-efficient FCFS group mutual exclusion
In the group mutual exclusion problem [Y. Joung, Asynchronous group mutual exclusion, Distrib. Comput. 13 (2000) 189], which generalizes mutual exclusion [E. Dijkstra, Solution of a problem in concurrent programming control, Comm. ACM 8 (9) (1965) 569], ...
Comments