banker safety

은행원 알고리즘은 끝낼 수 있는 순서가 있는지 검사한다

현재 available로 need를 만족하는 프로세스를 하나씩 끝냈다고 가정하며 work를 늘리고, 모두 finish되면 안전 상태다.

available work 시작값 즉시 줄 수 있는 자원
need <= work 실행 가능 끝낼 후보 선택
release work 증가 할당 자원 반환 가정
safe sequence 모두 finish 교착 위험 없음
검사 결과
의미
다음 행동
후보 있음
순서 확장
work에 allocation 더함
후보 없음
unsafe
요청 거절 또는 대기
모두 finish
safe
자원 요청 허용 가능
새 요청
가정 배분 후 검사
항상 재검사
핵심 현재 available로 need를 만족하는 프로세스를 하나씩 끝냈다고 가정하며 work를 늘리고, 모두 finish되면 안전 상태다.