은행가 알고리즘


I. 교착상태 회피 알고리즘, 은행가 알고리즘 개요

graph TD
    Root[교착상태해결] --> A[예방]
    Root --> B[회피]
    Root --> C[발견]
    Root --> D[회복]
    
    A --- A1[상호배제/비선점<br>등 4조건 예방]
    B --- B1[*은행가<br>알고리즘]
    C --- C1[자원할당]
    D --- D1[Kill 등]
구분내용
개념운영체제는 “자원 수 감시”하고 프로세스는 “자원요청” 하는 교착상태 회피 알고리즘

II. 은행가 알고리즘 동작원리 및 구성요소

가. 은행가 알고리즘 동작원리

graph LR
    A[준비<br>Process ready] --> B[자원 할당 요청<br>request]
    B --> C{안전<br>상태?}
    C -- 안전 --> D[할당<br>Allocate]
    C -- 교착 --> E[거부]
  • Available, Max, Allocation, Need 관리

나. 은행가 알고리즘 구성요소 설명

구성요소설 명
Available- 가용한 자원의 수
Available[i,j] = k
Max- 최대 자원수, Max[i,j] = k
Allocation- 자원 할당 현황
Allocation[i,j] = k
Need- 필요 자원수, Need[i,j] = k
  • 기타 bakery 알고리즘으로 교착상태 예방 가능

III. 교착상태 예방 알고리즘, bakery 알고리즘

graph LR
    A((교착상태))
    B((Banker's<br>알고리즘))
    C((Bakery<br>알고리즘))
    
    A -->|최대자원<br>검토| B
    A -->|티켓형태<br>자원계산| C
  • Bakery 알고리즘은 자원 대기 순서 티켓형태