Operating System
monitors
Concurrency and race conditions
Software and hardware solutions
Mutual Exclusion requirements
Classical IPC problems and solutions
Concurrency control
Semaphores
Deadlock