Abstract
There are instances in real-time applications where several distributed processes compete for access to a shared resource. Often these problems are such that requests for use of the shared resource are made at unpredictable times, and as such they cannot be solved using traditional scheduling algorithms. Major concerns with these problems are deadlock and decentralization. Two synchronization mechanisms are presented which address these issues. The first mechanism distributes control of the resource, while requiring a system global semaphore. The second mechanism avoids the need for global semaphores by introducing the key interchange mechanism. Both mechanisms are proven to be deadlock-free by demonstrating the liveness property of the corresponding Petri net used to model the problem.
Original language | English |
---|---|
Pages (from-to) | 67-82 |
Number of pages | 16 |
Journal | Computer Systems Science and Engineering |
Volume | 3 |
Issue number | 2 |
Publication status | Published - Apr 1988 |
Externally published | Yes |