This document discusses deadlocks in operating systems. It begins by defining a deadlock as a set of blocked processes each holding a resource and waiting for a resource held by another process. It then covers various methods for handling deadlocks including prevention, avoidance, detection, and recovery. Prevention methods restrain how processes can request resources to ensure deadlocks cannot occur. Avoidance methods allow requests but ensure the system never enters an unsafe state. Detection finds deadlocks after they occur, while recovery rolls back processes or preempts resources to break deadlock cycles.