The Eisenberg & McGuire algorithm is a software solution to the critical section problem, which asks how several processes can share a resource so that only one of them uses it at a time, and it is described as a general version of the dining philosophers problem. It was described in 1972 by Murray A. Eisenberg and Michael R. McGuire and is written for any number n of processes. All processes share a variable named turn, which is set arbitrarily to a number between 0 and n minus 1 at the start of the algorithm. Each process also has a flag that takes the value idle, waiting or active, and a process sets its flag to waiting whenever it intends to enter the critical section, while every flag begins as idle. The source lists Dekker's algorithm, Peterson's algorithm, Lamport's bakery algorithm and Szymanski's algorithm as related mutual exclusion algorithms, and it also points to semaphores.
Connections
In Field
Source Eisenberg & McGuire algorithm (Wikipedia)
Sources
Eisenberg & McGuire algorithm (Wikipedia)
In Group: Concurrency and Distributed Systems Techniques, Lead
The Eisenberg & McGuire algorithm is an algorithm for solving the critical sections problem, a general version of the dining philosophers problem.
In Field: Parallel Computing, Lead
The Eisenberg & McGuire algorithm is an algorithm for solving the critical sections problem, a general version of the dining philosophers problem.
View the SourceReader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.
Sign in to dispute this or suggest a correction.