This document contains practice exercises and answers related to deadlocks in computer systems. It discusses examples of non-computer deadlocks, how an unsafe state does not necessarily lead to deadlock, preventing deadlocks by requiring a single high-order resource, analyzing the complexity of the Banker's algorithm safety check, arguments for and against implementing deadlock avoidance, how to detect and handle starvation, how preemption prevents deadlock, and reusing the Banker's algorithm code to detect rather than avoid deadlocks.