교착상태, 4대 발생 조건, 은행원 알고리즘, 자원할당 그래프
출제 빈도: ★★★★★ | 기출: ★134회
답안.
Ⅰ. 개요
교착상태(Deadlock)는 두 개 이상의 프로세스가 서로 상대방이 점유한 자원을 기다리며 무한 대기하는 상태. 어떤 프로세스도 진행 불가.
Ⅱ. 핵심 구성요소
I. 교착상태 정의 & 자원할당 그래프
[자원할당 그래프]
프로세스 → 자원: 요청 간선
자원 → 프로세스: 할당 간선
사이클 존재 → 교착상태 가능성
(단일 인스턴스: 사이클 = 교착 확정)
II. 교착상태 처리 전략
1) 예방 (Prevention) - 4대 조건 중 하나 제거
- 상호배제 제거: 불가 (공유 불가 자원 존재)
- 점유대기 제거: 시작 시 모든 자원 요청 (자원 낭비)
- 비선점 제거: 선점 가능하게 (구현 복잡)
- 순환대기 제거: 자원 번호 순서대로 요청 ← 실용적
2) 회피 (Avoidance) - 은행원 알고리즘
[은행원 알고리즘]
안전 상태 (Safe State): 모든 프로세스가 완료 가능한 순서 존재
Max(i,j) = 프로세스 i가 자원 j를 최대 요청할 수 있는 수
Allocation(i,j) = 현재 할당량
Need(i,j) = Max(i,j) - Allocation(i,j)
요청 수락 조건:
1. Need(i) ≤ Available
2. 가정 할당 후에도 안전 상태 유지
해당 키워드의 기술적 구성요소와 동작 원리를 서술한다.
### Ⅲ. 특징 및 비교
핵심 기술의 장단점과 유사 기술과의 차이를 분석한다.
### Ⅳ. 적용 사례
실무 환경에서의 적용 사례와 기대효과를 제시한다.
### Ⅴ. 전망
최신 기술 동향과 향후 발전 방향을 서술한다.