운영체제

은행원 알고리즘

iksadnorth 2023. 7. 23. 15:45

알고리즘의 내용을 설명하기 앞서서 용어 정리.

  Max Allocate Available
의미 각 요청자가 얼마나
요구하는지
각 요청자에게 얼마나
할당했는지
제공자가 현재 얼마나 
보유 중인지

아래 그림을 보면
각 대출자들은 40원, 50원, 60원을 요구하고 있고(Max)
각 대출자에게 급한대로 25원, 25원, 25원을 대출해준 상태다.(Allocate)
현재 은행은 25원만 추가로 더 줄 수 있다.(Available)

이 때, 은행이 1st, 2nd 사람에게 추가 대출을 하면 대상자는 모든 자원을 가지고 처리 후 다시 원금을 돌려준다.
때문에 이런 상태를 '안전 상태'라고 볼 수 있다. 

'안전 상태'란?
교착 상태에 빠지지 않는 상태. 즉, 자원을 투입하면 다시 되돌려 받을 수 있는 상태.
그리고 '불안전 상태'에 빠지지 않는 상태를 유지하는 자원 지원 순서를 '안전 순서열'이라고 한다.
그림 예시로는 '1 -> 2 -> 3'이 안전 순서열의 예시라고 볼 수 있다.

'불안전 상태'란?
교착 상태에 빠지는 상태. 즉, 자원을 투입하면 다시 되돌려 받을 수 없는 상태.
그림 예시에 의하면 '3 -> 1 -> 2'가 그 예시라고 볼 수 있다.

 

'운영체제' 카테고리의 다른 글

프로세스 자원 동기화 전략  (0) 2023.07.23
IPC - Inter Process Communication  (0) 2023.07.23
C언어 컴파일 과정  (0) 2023.07.23
프로세스  (0) 2023.07.23
페이지 교체 알고리즘  (0) 2023.07.22