학습목표
1. 교착상태의 개념을 설명할 수 있다.
2. 교착상태가 발생하기 위한 필요조건을 설명할 수 있다.
3. 자원할당 그래프의 개념을 설명할 수 있다.
4. 교착상태를 방지하는 기법을 설명할 수 있다
5. 교착상태르로 회피하는 기법을 설명할 수 있다.
6. 교착상태를 탐지하고 복구하는 방법을 설명할 수 있다.
주용용어
교착상태, 점유대기, 환형대기, 안전 순서열, 은행원 알고리즘
5.1 교착상태의 개념
> 2개 이상의 프로세스가 서로 상대방의 작업이 끝나기만을 기다리고 있는 상태
> 결과적으로 아무도 완료되지 못함
참고 : 교착상태와 기아상태는 의미가 다르다.
교착상태 : 관련된 모든 프로세스가 무한히 대기상태인 것
(해소될 가능성이 없다)
기아상태 : 프로세스가 일부가 지속적으로 대기상태인 것
(해소될 가능성이 있다.)
5.2 교착상태의 특성
5.2.1 교착상태의 필요조건
네 가지 조건이 동시에 만족될 경우 교착상태가 발생할 수 있음
- 상호배제 조건
- 점유 대기 조건
- 비선점 조건
- 환형 대기 조건
(1) 상호배제 조건 - 프로세스들의 자원에 대한 배타적인 통제권을 요구 - 적어도 하나 이상의 자원은 공동 사용 될 수 없음 - 즉, 필요로 하는 자원을 다른 프로세스가 점유하고 있으면 반드시 대기해야함 |
|
(2) 점유 대기 조건 - 프로세스가 이미 다른 자원을 할당받아 배타적으로 점유하고 있는 상황에서 다른 프로세스가 점유하고 있는 자원이 해제되기를 기다리는 상황
|
|
(3) 비선점 조건 - 프로세스에 할당된 자원은 그 프로세스가 사용을 마치고 스스로 반환하기 전에 제거되지 않음
- 즉, 다른 프로세스에 의해서 해제되지 않음 |
|
(4) 환형 대기 조건 - 프로세스의 자원 점유 및 점유된 자원의 요구 관계가 환형을 이루며 대기 |
5.2.2 자원할당 그래프
교착상태를 명확하게 표현하기 위해 자원할당 그래프를 이용할 수 있다.
자원 할당 (resource allocation) 그래프 G = ( V, E) 란 방향(directed) 그래프이다.
자원 할당 그래프 G = ( V, E)
V : 정점의 집합. V = P ∪ R
P = { P1, P2,........., Pn} : n개의 프로세스
R = { r1,r2, ........., rm} : m개의 자원
E : 방향 있는 간선의 집합. E = Q ∪ S
Q = { (pi, rj) : pi ∈ P, rj ∈ R } : 프로세스 pi가 자원 rj를 요구함 (요구간선)
S = { (rj, pi) : rj ∈ P, pi ∈ R } : 자원 rj가 프로세스 pi에 할당되어 있음 (할당간선)
'방송통신대학 > 운영체제' 카테고리의 다른 글
교착상태 회피 알고리즘 (0) | 2020.07.02 |
---|---|
교착상태 방지 (0) | 2020.07.01 |
프로세스 간의 통신IPC, Interprocess Communication (0) | 2020.06.23 |
프로세스의 상호협력 (0) | 2020.06.22 |
기말 ] 벨 라파듈라 ,비바 모델의 공통점과 차이점 (0) | 2020.06.06 |