This document discusses deadlock avoidance techniques. It explains the concepts of safe and unsafe states when allocating resources to processes. The resource allocation graph algorithm uses claim and assignment edges to model potential resource requests. Banker's algorithm requires processes to declare maximum resource needs upfront. It uses an allocation matrix and need matrix to determine if allocating resources to a process will result in an unsafe state. An example demonstrates tracking available resources and determining if processes can safely obtain requested resources without causing deadlock.