공부기록장

교착상태 발생조건 완벽 정리 본문

▶ 자격증/정보처리기사

교착상태 발생조건 완벽 정리

친절한 3 2020. 12. 18. 23:05

교착상태 발생조건


교착상태란 두 개 이상의 작업이 서로 상대방의 작업이 끝나기 만을 기다리고 있어서 아무것도 할 수 없는, 완료되지 못하는 상태를 일컫는다. 교착 상태는 상호배제, 점유와 대기, 비선점, 환형대기 네 가지 조건을 모두 동시에 충족해야 발생한다.

 

1. 상호배제 (mutual exclusion)

한 프로세스가 공유 자원을 사용하고 있을 때 다른 프로세스들이 사용하지 못하도록 배제시킨다.

 

2. 점유와 대기 (hold and wait)

둘 이상의 프로세스가 자원을 점유하고 있을 때 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 것을 의미한다.

 

3. 비선점 (non preemptive)

다른 프로세스가 사용 중인 자원을 강제로 가져올 수 없다는 것을 의미한다.

 

4. 환형대기 (circle wait)

각 프로세스가 순차적으로 다음 프로세스가 요구하고 있는 자원을 가지고 있는 상태를 의미한다.

 

 

교착상태 해결 방법


1. 예방 (prevention) : 위에 4가지 조건 중 하나라도 발생하지 않도록 사전에 발생을 막는 조치를 취하는 것이다.

2. 회피 (avoidance) :  자원할당 그래프, 은행원 알고리즘을 적용하여 발생을 회피할 수 있다.

3. 회복 (recovery) : 교착 상태를 일으킨 프로세스를 종료시켜 자원을 해제함으로 써 회복시킨다.

4. 무시 (ignore) : 부하가 너무 심할 경우 교착상태를 무시한다.

 

Comments