-
예방 기법
교착상태가 발생하지 않도록 사전에 시스템을 제어하는 방법으로, 교착 상태 발생 조건 중 어느 하나를 부정함으로써 수행되나 자원의 낭비가 심한 방법
기법 |
내용 |
상호 배제 조건의 부정 |
|
점유와 대기 조건의 부정 |
- 프로세스가 실행되기 전에 프로세스가 필요로 하는 모든 자원을 할당하여 프로세스 대기를 없애거나 자원이 점유되지 않은 상태에서만 자원을 요구하도록 함
- 장치 사용하기 전에 사용하려는 모든 장치를 동시에 선점으로 비효율적인 방법
|
비선점 조건의 부정 |
- 자원을 점유하고 있는 프로세스가 다른 자원을 요구할 때 점유하고 있는 자원을 반납하고, 요구한 자원을 사용하기 위해 기다리게 함
- CPU에는 적용할 수 있으나, 프린터와 같은 장치에는 적용 불가
|
환형 대기 조건의 부정 |
- 자원을 선형 순서로 분류하여 고유 번호를 할당하고, 각 프로세스는 현재 점유한 자원의 고유 번호보다 앞이나 뒤의 한 쪽 방향으로만 자원을 요구하도록 함
- 장치에 번호를 매긴 후 낮은 순에서 높은 순으로 선점하도록 함
- 자율성 침해
|
▶ 교착상태 예방 기법
구분 |
내용 |
안전 상태 |
- 시스템이 특정한 순서대로 각 프로세스에게 자원의 할당 가능
- 교착상태의 방지가 가능하고, 작업의 완료도 가능
|
불안전 상태 |
- 프로세스에 대한 자원 할당 순서가 없음
- 교착상태의 발생이 가능한 상태
- 운영체제는 교착상태를 예방할 수 없음
|
-
발견 기법
- 시스템 운영 중에 시스템에 교착상태가 발생했는지 점검하여 교착상태에 있는 프로세스와 자원을 발견하는 방법
- 교착상태 발견 알고리즘(그래프, 타임 스탬프)과 자원 할당 그래프, 시간의 상한값 이용 등을 사용
-
프로세스와 자원간의 요구와 할당 관계를 규명
-
회복 기법