기출문제/정보처리기사

2018년 3회 정보처리기사 기출문제 56번

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

56. 다음은 교착상태 발생조건 중 어떤 조건을 제거하기 위한 것인가?

   ① Mutual Exclusion    Hold and Wait

    Non-preemption    Circular Wait

 

300x250

 

 


이 문제는 교착 상태(Deadlock) 의 발생 조건 중 어떤 조건을 제거하기 위한 방법인지를 묻는 문제입니다.


🔍 문제에서 주어진 설명

이미지에는 다음과 같은 설명이 나와 있어요:

  1. 프로세스가 수행되기 전에 필요한 모든 자원을 할당시켜 준다.
  2. 자원이 점유되지 않은 상태에서만 자원을 요구하도록 한다.

🧠 교착상태 발생 조건 4가지

조건 설명

Mutual Exclusion (상호 배제) 자원은 한 번에 하나의 프로세스만 사용할 수 있음
Hold and Wait (보유와 대기) 자원을 가진 채로 다른 자원을 기다림
No Preemption (비선점) 자원을 강제로 빼앗을 수 없음
Circular Wait (순환 대기) 각 프로세스가 다음 자원을 기다리며 원형으로 대기

🔎 보기 설명과 연결해보기

  • "수행 전에 모든 자원을 미리 할당"
    👉 프로세스가 자원을 가지고 추가로 기다리지 않음
  • "자원이 점유되지 않은 상태에서만 요구 가능"
    👉 이미 자원을 가지고 있으면 요청 불가, 즉 Hold and Wait 조건 제거!

✅ 정답:

❷ Hold and Wait


💡 쉬운 요약

  • 교착상태를 피하려면, 자원을 잡고 또 기다리는 상황(Hold and Wait)을 막아야 해요!
  • 그래서 처음부터 필요한 자원을 다 받고 시작하거나, 자원이 없으면 기다리지 않게 만드는 것!
  • 이건 Hold and Wait 조건을 제거하는 전략이에요! 🔧