4

 

 

Deadlock

 

CONTENTS

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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.