BANKER REQUEST

요청은 세 개의 문을 통과해야 승인된다

최대 요구량, 현재 가용량, 가상 할당 뒤 안전 순서를 차례로 확인해서 승인, 대기, 오류를 나눈다.

Request <= Need

선언한 한도 안인가

Need를 넘는 요청은 프로세스가 약속한 최대 요구량을 초과하므로 오류다.

Request <= Available

지금 줄 수 있는가

가용 자원이 부족하면 실패가 아니라 대기다. 상태는 그대로 둔다.

Safe Sequence

가상 할당 후 안전한가

안전 순서가 남으면 실제 할당하고, 없으면 요청을 미룬다.

Available

즉시 배분 가능한 자원 벡터이며 요청 가능 여부의 첫 기준이다.

Allocation

각 프로세스가 이미 들고 있는 자원으로, 완료 시 Work에 반환된다.

Need

Max에서 Allocation을 뺀 남은 최대 요구량이다.

Work

안전성 검사 중 가상으로 늘어나는 Available 복사본이다.