This document discusses deadlocks in operating systems. It defines a deadlock as a situation where two or more competing processes are waiting for resources held by each other, resulting in none of the processes making progress. Four conditions for deadlock are outlined: mutual exclusion, hold and wait, no preemption, and circular wait. Methods for deadlock prevention like deadlock avoidance and deadlock detection algorithms like Banker's algorithm and wait-for graph are also summarized. Real-world examples of deadlocks and how they occur in operating systems are provided.