교착상태(DeadLock)
- 상호 배제에 의해 나타나는 문제
- 둘 이상의 프로세스가 자원을 점유
- 다른 프로세스가 무한정 기다리는 현상
- 스타베이션 현상이라고도 한다
교착상태 발생조건
1. 상포배제(Mutual Exclusion)
2. 점유 및 대기(Hold and Wait)
3. 비선점(Non-Preemption)
* 선점(Preemption)이란 쉽게말해 운영체제를 제어하는 힘을 말한다.(교착상태를 막을 수 있다)
4. 환형 대기(Circular Wait)
: 프로세스가 자신이 가진 자원을 점유하면서 앞이나 뒤에 있는 프로세스의 자원을 요구하는 것
회피기법(Avoidance)
1. 은행원 알고리즘(Banker's Algorithm)
- E. J. Dijkstra가 제안
- 각 프로세스에 자원을 할당하여 교착상태가 발생하지 않고 모든 프로세스가 완료될 수 있는 상태를 안정상태,
교착상태가 발생할 수 있는 상태를 불안정 상태라 한다.
- 자원의 양과 사용자(프로세스)수가 일정해야 한다.
- 상호 배제에 의해 나타나는 문제
- 둘 이상의 프로세스가 자원을 점유
- 다른 프로세스가 무한정 기다리는 현상
- 스타베이션 현상이라고도 한다
교착상태 발생조건
1. 상포배제(Mutual Exclusion)
2. 점유 및 대기(Hold and Wait)
3. 비선점(Non-Preemption)
* 선점(Preemption)이란 쉽게말해 운영체제를 제어하는 힘을 말한다.(교착상태를 막을 수 있다)
4. 환형 대기(Circular Wait)
: 프로세스가 자신이 가진 자원을 점유하면서 앞이나 뒤에 있는 프로세스의 자원을 요구하는 것
회피기법(Avoidance)
1. 은행원 알고리즘(Banker's Algorithm)
- E. J. Dijkstra가 제안
- 각 프로세스에 자원을 할당하여 교착상태가 발생하지 않고 모든 프로세스가 완료될 수 있는 상태를 안정상태,
교착상태가 발생할 수 있는 상태를 불안정 상태라 한다.
- 자원의 양과 사용자(프로세스)수가 일정해야 한다.