운영체제

데드락 예방과 회피

데드락 대응은 조건을 깨뜨리는 예방과, 안전 상태를 계산해 위험한 할당을 미루는 회피로 나뉩니다. 두 방식은 자원 이용률, 사전 정보 필요성, 런타임 계산 비용이 서로 다릅니다.

자원 선점 가능성, 점유 순서, 최대 요구량 정보를 기준으로 데드락 예방과 회피 전략을 고릅니다.

1

데드락 예방: 4가지 조건 깨뜨리기

예방은 네 가지 필요조건 중 최소 하나를 원천적으로 불가능하게 만드는 전략입니다.

예방(Prevention)
2

데드락 회피

회피는 최대 요구량과 현재 가용 자원을 비교해, 요청을 승인해도 모든 프로세스가 끝날 수 있는 상태인지 계산합니다.

회피(Avoidance)
3

은행원 알고리즘

은행원 알고리즘(Banker's Algorithm)은 다익스트라가 1965년에 제안한 데드락 회피 알고리즘입니다.

위험한 상태로 진입하지 않겠다