정의 일련의 프로세스들이 서로가 가진 자원을 기다리며 blocking된 상태 동기화와 관련이 깊은 것이다. Deadlock은 결국 서로의 Event를 기다리면서 무한하게 대기하는 상태를 말한다. **여기서 Event는 자원의 할당과 해제를 의미한다. 발생하는 이유 4가지가 있다. 1. Mutual Exclusion, 상호 배제 매 순간 하나의 프로세스만 자원을 사용 가능 A자원이 B자원 점유와 상관없이 자원을 쓸 수 있다면 당연히 무한 대기 상태는 나오지 않을 것이다. 2. No Preemption, 비선점 프로세스는 자원을 스스로 내어놓는 것만 허용된다. -> 빼앗기지 않는다. 자원을 빼앗을 수 있다면 당연히 deadlock은 나오지 않았다. 3. Hold and Wait, 점유 대기 자원을 가진 프로..