은행원 알고리즘
👍 은행원 알고리즘이란? 짧게 복습하면, 다중프로그래밍에서 여러 프로세스가 한정된 자원을 오류 없이 사용하도록 순서를 부여한 것이 상호배제였고, 상호배제라는 것 때문에 특정 상황에서 대기중인 프로세스가 무한정 기다리게 되는 불상사가 생긴 것이 교착상태였다. 그리고 교착상태를 아예 제거한다는 것은 앞선 상호배제부터 부정한다는 말이기 때문에 다중프로그래밍으로서 모순이 있어 좋지 않은 방법이었고, 교착상태를 인정하되 똘똘한 운영체제가 알아서 회피해가자는 것이 "교착상태 회피"였다. 그리고 교착상태 회피의 알고리즘이 바로 "은행원 알고리즘"이다. 은행원 알고리즘은 은행에서 대출해주는 직원에서 착안한 것이다. 대출하고자 하는 고객 = 프로세스 고객의 대출한도 = 프로세스가 실행에 있어 필요로 하는 자원의 총량 고..
2020.07.08