교착상태, 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. 가정 할당 후에도 안전 상태 유지


해당 키워드의 기술적 구성요소와 동작 원리를 서술한다.

### Ⅲ. 특징 및 비교

핵심 기술의 장단점과 유사 기술과의 차이를 분석한다.

### Ⅳ. 적용 사례

실무 환경에서의 적용 사례와 기대효과를 제시한다.

### Ⅴ. 전망

최신 기술 동향과 향후 발전 방향을 서술한다.