Deadlock이 발생하기 위한 네 가지 필수 조건은 다음과 같습니다: 1. **Mutual Exclusion (상호 배제)**: 자원이 동시에 둘 이상의 프로세스에 의해 사용될 수 없음을 의미합니다. 2. **Hold and Wait (보유하며 대기)**: 자원을 보유한 상태에서 다른 자원을 기다리는 상태입니다. 3. **No Preemption (비선점)**: 자원을 강제로 빼앗을 수 없으며, 자원을 점유한 프로세스가 자발적으로 자원을 해제할 때까지 기다려야 합니다. 4. **Circular Wait (순환 대기)**: 각 프로세스가 다음 프로세스가 요구하는 자원을 보유한 상태로, 순환적으로 자원을 기다리는 상태입니다. 보기 4인 "Preemption"은 deadlock 발생의 필요충분조건에 포함되지 않습니다. 오히려 "No Preemption"이 필요조건에 해당합니다. 따라서 보기 4를 선택한 것은 올바른 선택입니다.