기출문제/정보처리기사

2019년 1회 정보처리기사 기출문제 54번

엉클지니 2025. 5. 11. 22:43

54. 다음 중 교착상태가 발생할 수 있는 필요충분조건은?

    중단 조건(Preemption)

    ❷ 환형 대기(Circular Wait)

    기아 상태(Starvation)

    ④ 동기화(Synchronization)

 

 


이 문제는 **교착상태(Deadlock)**의 발생 조건에 대한 이해를 묻고 있습니다.


✅ 정답: ❷ 환형 대기(Circular Wait)


🔍 교착상태(Deadlock)란?

둘 이상의 프로세스가 서로가 가진 자원을 기다리며 무한히 대기하는 상태입니다.


✅ 교착상태의 4가지 필요충분조건 (Coffman 조건)

조건명 설명

상호 배제 (Mutual Exclusion) 자원은 한 번에 하나의 프로세스만 사용할 수 있음
점유와 대기 (Hold and Wait) 자원을 가진 상태에서 다른 자원을 기다림
비선점 (No Preemption) 자원을 강제로 뺏을 수 없음
환형 대기 (Circular Wait) 프로세스들이 원형으로 자원을 기다리는 상황

💡 이 4가지 조건이 모두 만족될 때만 교착상태가 발생할 수 있습니다.
그 중 보기 ❷ **“환형 대기”**는 그 네 가지 중 하나이며, 따라서 필요충분조건 중 하나입니다.


❌ 오답 보기 해설

보기 용어 설명 옳고 그름

중단 조건 (Preemption) 자원을 선점할 수 있는 상황. 교착상태를 방지하는 방법 중 하나.
기아 상태 (Starvation) 우선순위가 낮은 프로세스가 자원을 계속 할당받지 못하는 현상. 교착상태와는 다른 개념
동기화 (Synchronization) 프로세스 간의 작업 조율. 교착상태와 직접 관련은 없음

✅ 결론

  • 교착상태가 발생하려면 4가지 조건이 모두 필요하며,
  • 보기 중 환형 대기는 그 중 하나로, 필요충분조건에 해당합니다.

📌 정답: ❷ 환형 대기(Circular Wait)