교착상태를 탐지하는 알고리즘은 언제 써야하나?
1 ) CPU 속도가 느려질 때 (시스템의 성능이 떨어질 때)
2 ) 특정 시간 마다 반복
이번에는 교착상태가 발생했을 때 사용되는 방법에 대해 알아보자.
1 ) 프로그램 종료
- 모두 종료
- 데드락이 풀릴 때 까지 하나하나씩 제거
-> 어떤 순서로 프로그램을 하나씩 제거해야 할까?
- 낮은 우선순위부터 제거한다.
- 계산한 시간이 짧은 것 부터 제거한다.
- 자원 많이 안쓰는 애부터 제거한다.
2 ) 자원 뺏기
- 희생양을 정한다.
- 희생양의 자원을 모두 회수한다.
-> 이 경우 기아 상태가 발생할 수 있다.