728x90
교착 상태 필요 조건은 상호 배제, 비선점, 점유와 대기, 원형 대기를 모두 충족해야 발생한다.
상호 배제(Mutual Exclusion) : 한 프로세스가 사용하는 자원은 다른 프로세스와 공유할 수 없는 배타적인 자원이어야 한다. 배타적인 자원은 임계구역으로 보호되기 때문에 다른 프로세스가 동시에 사용할 수 없어 교착 상태가 발생한다.
비선점(non-preemption) : 한 프로세스가 사용중인 자원은 다른 프로세스가 뺏을 수 없는 비선점 자원이어야 한다.
점유와 대기(hold and wait) : 프로세스가 어떤 자원을 할당받은 상태에서 다른 자원을 기다리는 상태여야 한다.
원형 대기(circular wait) : 점유와 대기를 하는 프로세스 간의 관계가 원을 이루어야 한다.
교착 상태는 위의 조건 모두를 충족해야 발생하고, 이 중 단 하나라도 충족하지 않으면 발생하지 않는다. 따라서 위의 네 가지 조건을 교착 상태 필요조건이라고 한다.
교착 상태 필요조건 중 상호 배제와 비선점 조건은 자원이 어떤 특징을 가지는지 나타낸다.
그리고 점유와 대기, 원형 대기 조건은 프로세스가 어떤 행위를 하고 있는지를 나타낸다.
728x90
'프로그래밍 이론 & 책 > 운영체제' 카테고리의 다른 글
[운영체제] 7.1 메모리 관리의 개요 (0) | 2020.05.28 |
---|---|
[운영체제] 6.3 교착 상태 해결 방법 (0) | 2020.05.27 |
[운영체제] 6.1 교착 상태의 개요 (0) | 2020.05.27 |
[운영체제] 5.3 임계구역 해결 방법 (0) | 2020.05.26 |
[운영체제] 5.2 공유 자원과 임계구역 (0) | 2020.05.26 |