OS · DEADLOCK
은행원 알고리즘 안전성 검사
은행원 알고리즘은 현재 Available로 어떤 프로세스를 끝낼 수 있는지 찾아 Work를 늘리고, 모든 프로세스를 끝낼 안전 순서가 있는지 확인합니다.
검사 단계
banker
Available
현재 남은 자원 벡터
Need <= Work
끝낼 수 있는 프로세스 탐색
finish + release
완료한 프로세스 자원 반환
safe sequence
모두 finish면 안전 상태
Available
→
Need <= Work
→
finish + release
→
safe sequence
판정 기준
check
Need
Max에서 Allocation을 뺀 남은 요구량입니다.
Work
검사 중 임시로 계산하는 사용 가능 자원입니다.
불안전
순서가 없으면 데드락 가능성이 있는 상태입니다.
실무 한계
최대 요구량을 미리 알아야 해서 현실 적용은 제한적입니다.