Problem
Explain why mutual exclusion, non-preemption, wait for, and circular wait are necessary conditions but not sufficient conditions for a system deadlock to occur. Also distinguish among the deadlock prevention, avoidance, detection, and recovery schemes. Comment on their implementation costs and expected performances.