기출문제/정보처리기사
2018년 3회 정보처리기사 기출문제 56번
엉클지니
2025. 5. 22. 11:25
56. 다음은 교착상태 발생조건 중 어떤 조건을 제거하기 위한 것인가?
① Mutual Exclusion ❷ Hold and Wait
③ Non-preemption ④ Circular Wait
300x250
이 문제는 교착 상태(Deadlock) 의 발생 조건 중 어떤 조건을 제거하기 위한 방법인지를 묻는 문제입니다.
🔍 문제에서 주어진 설명
이미지에는 다음과 같은 설명이 나와 있어요:
- 프로세스가 수행되기 전에 필요한 모든 자원을 할당시켜 준다.
- 자원이 점유되지 않은 상태에서만 자원을 요구하도록 한다.
🧠 교착상태 발생 조건 4가지
조건 설명
① Mutual Exclusion (상호 배제) | 자원은 한 번에 하나의 프로세스만 사용할 수 있음 |
② Hold and Wait (보유와 대기) | 자원을 가진 채로 다른 자원을 기다림 |
③ No Preemption (비선점) | 자원을 강제로 빼앗을 수 없음 |
④ Circular Wait (순환 대기) | 각 프로세스가 다음 자원을 기다리며 원형으로 대기 |
🔎 보기 설명과 연결해보기
- "수행 전에 모든 자원을 미리 할당"
👉 프로세스가 자원을 가지고 추가로 기다리지 않음
- "자원이 점유되지 않은 상태에서만 요구 가능"
👉 이미 자원을 가지고 있으면 요청 불가, 즉 Hold and Wait 조건 제거!
✅ 정답:
❷ Hold and Wait
💡 쉬운 요약
- 교착상태를 피하려면, 자원을 잡고 또 기다리는 상황(Hold and Wait)을 막아야 해요!
- 그래서 처음부터 필요한 자원을 다 받고 시작하거나, 자원이 없으면 기다리지 않게 만드는 것!
- 이건 Hold and Wait 조건을 제거하는 전략이에요! 🔧