In the problem of mutual exclusion, concurrent access to a shared reso
urce using a structural program abstraction called a critical section
(CS) must be synchronized such that at any time only one process can e
nter the CS. In a distributed system, due to the lack of both a shared
memory and a global clock, and due to unpredictable message delay, th
e design of a distributed mutual exclusion algorithm that is free from
deadlock and starvation is much more complex than that in a centraliz
ed system. Based on different assumptions about communication topologi
es and a widely varying amount of information maintained by each site
about other sites, several distributed mutual exclusion algorithms hav
e been proposed. In this paper, we suvrey and analyze several well-kno
wn distributed mutual exclusion algorithms according to their related
characteristics. We also compare the performance of these algorithms b
y a simulation study. Finally, we present a comparative analysis of th
ese algorithms. (C) 1996 Academic Press, Inc.