교착상태 방지 기법은, 교착상태 조건 중 한 가지를 일어나지 않도록 하는 것인데, 이렇게 하면 장치 이용률(device utilization)이 크게 낮아지고 시스템의 성능이 저하됨
각 프로세스가 자신이 사용할 자원의 최대 요구량을 제시하도록 하는 방법이 사용될 수 있음
안전상태(safe state)
시스템이 교착상태를 일으키지 않으면서 각 프로세스가 요구한 최대 요구량만큼 필요한 자원을 할당해 줄 수 있는 상태. 안전순서열이 존재하는 상태를 말함.
불안전상태(unsafe state)
안전순서열이 존재하지 않는 상태를 말함. 불안전상태는 교착상태이기 위한 필요조건이다. 교착상태는 불안전상태에서만 발생한다.
안전상태 개념을 이용하여, 교착상태 회피 알고리즘 구성이 가능하며, 현재 가용자원을 프로세스 요청시 바로 할당해 줄 것인지, 기다리게 할 것인지를 결정하는 문제라고 볼 수 있다.
단일유형의 여러 자원이 존재하는 경우
가용자금을 할당하는 은행 시스템과 비슷해서 붙여진 이름. 시스템이 자원요청을 받으면, 할당해 주고 난 후의 상태를 가정하고, 그 상태가 안전상태인지를 확인한 후, 안전상태가 보장되는 경우에만 할당하는 것. 다음 네 가지에 대한 데이터 구조가 필요함
1. 가용자원
2. 최대요구
3. 할당자원
4. 추가요구
- 은행원 알고리즘(banker's algorithm)
- 안전 알고리즘 : 안전상태 여부 확인에 m X n^2 의 연산이 필요함
각 유형의 자원이 한 개 뿐일 경우
'B1:기초 Basement' 카테고리의 다른 글
병렬처리시스템 분류 ( Parallel Processing Taxonomy ) (0) | 2006.11.22 |
---|---|
데카르트(tech+art) 신드롬 (0) | 2006.11.22 |
교착상태 방지 (0) | 2006.11.21 |
교착상태(Deadlock) (0) | 2006.11.21 |
Transact-SQL (0) | 2006.11.19 |