A Deadlock in an operating system is a state where a set of processes are blocked forever because each process holds a resource while waiting for another resource held by another process in the set. Deadlock condition occur due to simultaneous existence of mutual exclusion, hold and wait, no preemption and circular wait conditions.