교착상태란 푸로세스가 일어나지 않을 사건을 기다리며 진행이 멈춰버리는 현상이다.
이러한 교착상태를 해결하기 위해서는
- 교착 상태가 발생했을 때의 상황을 정확히 표현한다.
- 교착 상태가 일어나는 근본적인 이유를 이해한다.
1. 교착 상태가 발생하는 상황 표현
교착 상태 발생 조건 파악
- 어떤 프로세스가 어떤 자원을 할당 받아 사용 중인지 확인
- 어떤 프로세스가 어떤 자원을 기다리고 있는지 확인
위의 조건을 바탕으로 자원 할당 그래프를 그려본다면 아래와 같다.
이처럼 교착 상태가 일어나는 그래프의 특징은 그래프가 원의 형태를 보인다는 것이다.
2. 교착 상태가 일어나는 근본원인 파악
교착상태가 발생할 조건
- 상호 배제 : 한 프로세스가 사용하는 자원을 다른 프로세스가 사용할 수 없는 상태
- 점유와 대기 : 자원을 할당 받은 상태에서 다른 자원을 할당 받기를 기다리는 상태
- 비선점 : 어떤 프로세스도 다른 프로세스의 자원을 강제로 빼앗지 못하는 상태
- 원형 대기 : 프로세스들이 원의 형태로 자원을 대기하는 상태
위 네가지 조건 중 하나라도 만족하지 않으면 교착상태가 발생하지 않지만 모두 만족한다면 교착 상태가 발생할 수 있다.
'컴퓨터공학' 카테고리의 다른 글
29. 교착 상태 해결방법 (0) | 2024.11.13 |
---|---|
27. 동기화 기법 (0) | 2024.10.30 |
26. 동기화 (0) | 2024.10.30 |
25. CPU 스케줄링 알고리즘 (0) | 2024.10.28 |
24. CPU 스케줄링 (0) | 2024.10.26 |