This document discusses deadlocks in computer systems. It begins by describing a system model where processes request, use, and release finite resources. It then defines what constitutes a deadlock and provides examples. The necessary conditions for deadlock are explained as mutual exclusion, hold and wait, no preemption, and circular wait. Methods to handle deadlocks include prevention, avoidance, detection and recovery. Prevention techniques aim to satisfy one of the necessary conditions, such as imposing a total ordering of resource requests. Avoidance uses additional information to decide if a request could lead to a deadlock.