데드락_교착상태 회피

sz L·2023년 10월 19일
0

OS

목록 보기
4/5

시스템의 프로세스들이 요청하는 모든 자원을 데드락 발생시키지 않으면서도 차례대로 모두에게 할당해 줄 수 있다면 Safe State에 있다고 말한다.

특정한 순서로 프로세스들에게 자원을 할당, 실행 및 종료 등의 작업을 할 때 데드락이 발생하지 않는 순서를 찾을 수 있다면 그 순서를 안전 순서(Safe Sequence)라고 한다.

회피 알고리즘은 자원을 할당한 후에도 시스템이 항상 Safe State에 있을 수 있도록 할당을 허용하자는 것이 특징이다.

대표적인 알고리즘으론 은행원 알고리즘이 있다


은행원 알고리즘(Banker's Algorithm)

다익스트라가 제안한 방법이다.

어떤 자원의 할당을 허용하는지에 관한 여부를 결정하기 전에, 미리 결정된 모든 자원들의 최대 가능한 할당량을 가지고 시뮬레이션 해서 안전상태에 들 수 있는지 여부를 검사한다.
은행원 알고리즘
은행원 알고리즘 코드 구현

profile
가랑비는 맞는다 하지만 폭풍은 내 것이야

0개의 댓글