OS · DEADLOCK

은행원 알고리즘 안전성 검사

은행원 알고리즘은 현재 Available로 어떤 프로세스를 끝낼 수 있는지 찾아 Work를 늘리고, 모든 프로세스를 끝낼 안전 순서가 있는지 확인합니다.

검사 단계

banker
Available현재 남은 자원 벡터
Need <= Work끝낼 수 있는 프로세스 탐색
finish + release완료한 프로세스 자원 반환
safe sequence모두 finish면 안전 상태
AvailableNeed <= Workfinish + releasesafe sequence

판정 기준

check
NeedMax에서 Allocation을 뺀 남은 요구량입니다.
Work검사 중 임시로 계산하는 사용 가능 자원입니다.
불안전순서가 없으면 데드락 가능성이 있는 상태입니다.
실무 한계최대 요구량을 미리 알아야 해서 현실 적용은 제한적입니다.