Mutual Exclusion: There is a resource that cannot be shared.
Hold and Wait: A process is holding at least one resource and waiting for another resource, which is with some other process.
No Preemption: The operating system is not allowed to take a resource back from a process until the process gives it back.
Circular Wait: A set of processes waiting for each other in circular form.