본문 바로가기
전공공부/운영체제

138. 교착 상태 해결방법

by tiit 2020. 2. 18.
반응형

- 예방(Prevention) 기법 : 교착 상태가 발생되지 않도록 사전에 시스템을 제어하는 방법으로, 교착 상태 발생 의 4가지 조건 중에서 어느 하나를 제거(부정)함으로써 수행되며 일반적으로 자원의 낭비가 가장 심함.

 

1. 상호 배제 부정 : 한 번에 여러 개의 프로세서가 공유 자원을 사용할 수 있도록 하는 것이지만, 실제로는 구현하지 않음

2. 점유 및 대기 부정 : 프로세스가 실행되기 전 필요한 모든 자원을 할당하여 프로세스 대기를 없애거나 자원이 점유되지 않은 상태에서만 자원을 요구하도록 함

3. 비선점 부정 : 자원을 점유하고 있는 프로세스가 다른 자원을 요구할 때 점율하고 있는 자원을 반납하고, 요구한 자원을 사용하기 위해 기다리게 함 

4. 환형 대기 부정 : 자원을 선형 순서로 분류하여 고유 번호를 할당하고, 각 프로세스는 현재 점유한 자원의 고유 번호보다 앞이나 뒤 어느 한쪽 방향으로만 자원을 요구하도록 하는 것

 

- 회피(Avoidance) 기법 : 교착 상태가 발생할 가능성을 배제하지 않고, 교착 상태가 발생하면 적절히 피해나가는 방법으로, 주로 은행원 알고리즘(Banker's Algorithm)이 사용됨

 

1. 은행원 알고리즘 : Dijkstra가 제안한 것으로, 은행에서 모든 고객의 요구가 충족되도록 현금을 할당하는 데서 유래한 기법

- 각 프로세스에게 자원을 할당하여 교착 상태가 발생하지 않으며 모든 프로세스가 완료될 수 있는 상태를 안전 상태, 교착 상태가 발생할 수 있는 상태를 불안전 상태라고 함. 

- 발견(Detection) 기법 : 시스템에 교착 상태가 발생했는지 점검하여 교착 상태에 있는 프로세스와 자원을 발견하는 것으로, 자원 할당 그래프 등을 사용함

 

- 회복(Recovery) 기법 : 교착 상태를 일으킨 프로세스를 종료하거나 교착 상태의 프로세스에 할당된 자원을 선점하여 프로세스나 자원을 회복하는 것

 

다음 중 교착상태가 발생할 수 있는 필요충분조건은?
     
     1. 중단 조건(Preemption)
     2. 환형 대기(Circular Wait)
     3. 기아 상태(Starvation)
     4. 동기화(Synchronization)

     정답 : [2]
     정답률 : 62%
      <문제 해설>
교착상태 발생의 필요충분조건
1. 상호배제(Mutual Exclusion) : 한번에 한 프로세스만 자원 사용.
2. 점유와 대기(Hold & Wait) : 다른 자원이 할당되기를 기다리는 동안, 이미 확보한 자원을 계속 보유하고 있다.
3. 비선점(Non-preemptive) : 강제로 빼앗을 수 없다.
4. 환형대기(Circular Wait) : 서로간의 요구관계가 회전.

반응형

'전공공부 > 운영체제' 카테고리의 다른 글

136. 임계구역(Critical Section)  (0) 2020.02.22
분산운영체제  (0) 2020.02.18
디렉터리 구조  (0) 2020.02.17
분산처리 시스템의 투명성  (0) 2020.02.16
지역성의 원칙(Principle of Locality)  (0) 2020.02.16

댓글