skip to main content
article

Some myths about famous mutual exclusion algorithms

Authors Info & Claims
Published:01 September 2003Publication History
Skip Abstract Section

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.

References

  1. J. Anderson, "Lamport on Mutual Exclusion: 27 Years of Planting Seeds", PODC, 3--12, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. J. Anderson and Y. J. Kim, Shared-memory Mutual Exclusion: Major Research Trends Since 1986, Distributed Computing, To appear. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. G.R. Andrews, Concurrent Programming : Principles and Practice, The Benjamin / Cummings Publishing Company, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. G.R. Andrews, Foundations of Multithreaded, Parallel, and Distributed Programming, Addison-Wesley, 2000.Google ScholarGoogle Scholar
  5. J. Bacon, Concurrent Systems, Addison-Wesley, 1999.Google ScholarGoogle Scholar
  6. M. Ben-Ari Principles of Concurrent Programming, PHI, 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. L. Bic and A.C. Shaw, The Logical Design of Operating Systems, PHE, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. E.W. Dijkstra, Solution of a Problem in Concurrent Programming Control, CACM, Vol.8(9), Sept., 1965, 569. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. E.W. Dijkstra, Cooperating Sequential Processes (Techniche Hogeschool, Eindhoven, 1965). Reprinted in: F. Genuys (ed.), Programming Languages, Academic Press, 1968, 43--112.Google ScholarGoogle Scholar
  10. E.W. Dijkstra, Go To Statement Considered Harmful, CACM 11(3), 147--148, 1968. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. E. W. Dijkstra. Hierarchical Ordering of Sequential Processes. Acta Informatica, 1(2):115--138, 1971.Google ScholarGoogle Scholar
  12. 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 ScholarGoogle Scholar
  13. M. Hofri, Proof of a Mutual Exclusion Algorithm - A 'class'ic example, ACM SIGOPS OSR 24(1):18--22, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. R.C. Holt, E.D. Lazowska, G.S. Graham and M.A. Scott, Structured Programming with Operating Systems Applications, Addison-Wesley, 1972.Google ScholarGoogle Scholar
  15. T. Kowalttowski and A. Palma, Another Solution of the Mutual Exclusion Problem, IPL (19), 3, 145--146, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. S. Krakowiak, Principles of Operating Systems, The MIT Press, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. N. A. Lynch, Distributed Algorithms, Morgan Kaufmann Publishers inc., 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. M. Maekawa, E. Oldehoeft and R. Oldehoeft, Operating Systems: Adavanced Concepts, The Benjamin/Cummings Publishing Company, Inc., 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. A. J. Martin, A New Generalization of Dekker's Algorithm for Mutual Exclusion, IPL 23(6), 1986, 295--297. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. A. J. Martin, Lecture Notes on "CS139: Concurrency in Computation", California Institute of Technology (www.async.caltech.edu/cs139), 2003.Google ScholarGoogle Scholar
  21. G. L. Peterson, Myths About the Mutual Exclusion Problem, IPL 12(3) 1981, 115--116.Google ScholarGoogle ScholarCross RefCross Ref
  22. J.R. Pinkert and L.L. Wear, Operating Systems Concepts, PHI, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. G. Polya, How to Solve It: A New Aspect of Mathematical Method, Princeton University Press, 1973.Google ScholarGoogle Scholar
  24. M. Raynal, Algorithms for Mutual Exclusion, MIT press, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. W. Stallings, Operating Systems: Internals and Design Principles, PHI, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. D. C. Tsichritzis and P.A. Bernstein, Operating Systems, Academic Press, 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

  • Published in

    cover image ACM SIGACT News
    ACM SIGACT News  Volume 34, Issue 3
    September 2003
    78 pages
    ISSN:0163-5700
    DOI:10.1145/945526
    Issue’s Table of Contents

    Copyright © 2003 Author

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 1 September 2003

    Check for updates

    Qualifiers

    • article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader