This is an algorithm used to determine if an operating system is in a "safe state" i.e no deadlocks possible. A deadlock can occur in a system if each process is waiting on a resource from another process to complete, and no process can relinquish resources until it is completed.