4.1 A Simple Example

4.2 Formal Definition of Deadlock

4.3 Reasoning about Deadlock: The Resource Allocation Graph

4.4 Living with Deadlock

4.5 Deadlock Prevention

4.6 Deadlock Avoidance

4.7 Deadlock Detection and Recovery

4.8 Summary

In any concurrent system, process execution relies on the availability of a number of resources such as, for example, disk blocks, memory areas, and input–output (I/O) devices. Resources are often in scarce supply, hence they must be shared among all processes in the system, and processes compete with each other to acquire and use them.

In this chapter we will see that uncontrolled resource sharing may be very dangerous and, in particular, may prevent whole groups of processes from performing ...

Get Real-Time Embedded Systems now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.