Concurrencies
-
Trival case when there is no shared data
-
Shared data (Syncing processes, memory allocation, scheduling)
-
Deadlocks: when two processes are waiting for each other
-
Resource starvation: running out of memory, disk space, process count