OS · DEADLOCK

Banker's Algorithm 요청 승인 흐름

프로세스 요청을 바로 반영하지 않고, 최대 요구량과 현재 가용량을 먼저 확인한 뒤 가상 할당 상태에서 안전성을 검사합니다.

요청 처리 단계

request
1 요청 도착 프로세스 Pi가 Request[i] 벡터를 제출합니다. Request[i]
2 최대 요구량 확인 요청이 남은 필요량을 넘으면 오류 요청입니다. Request <= Need
3 가용 자원 확인 현재 Available로 줄 수 없으면 대기 큐로 보냅니다. Request <= Available
4 가상 할당 Available, Allocation, Need를 임시로 갱신합니다. try allocate
5 안전성 점검 모든 프로세스가 끝날 안전 순서가 있는지 확인합니다. safe sequence?
승인
안전하면 실제 할당 가상 할당 결과가 안전 상태라면 임시 갱신을 확정하고 프로세스를 계속 실행합니다.
대기
불안전하면 롤백 안전 순서가 없으면 가상 할당을 취소하고, 자원이 돌아올 때까지 요청을 보류합니다.