Lesson 4 of 81965–19718 min
Synchronisation and deadlock
In 1965 Edsger Dijkstra, then at the Technological University of Eindhoven, wrote a long manuscript titled Cooperating sequential processes. In it he set out the problem of processes that share data, the idea of a critical section and a new primitive to protect it: the semaphore, with two operations he called P and V, from Dutch words.
Six years later Coffman, Elphick and Shoshani published System Deadlocks, which listed the conditions under which processes can wait for each other for ever. Both texts are still the vocabulary of every exam on the subject.
The rest of this lesson is part of Pro
Create a free account to read the first lesson of every path, and go Pro for the rest.
Sources
- Cooperating sequential processes (EWD123, E. W. Dijkstra, 1965) — E. W. Dijkstra Archive, University of Texas at Austin
- System Deadlocks (E. G. Coffman, M. Elphick, A. Shoshani, ACM Computing Surveys 3(2), 1971) — ACM
- sem_overview(7): overview of POSIX semaphores — Linux man-pages project
- Operating Systems: Three Easy Pieces, chapters on locks, semaphores and concurrency bugs — R. and A. Arpaci-Dusseau, University of Wisconsin–Madison