🖥️ 교착 상태 🖥️
교착 상태란?
일어나지 않을 사건을 기다리며 진행이 멈춰 버리는 현상
식사하는 철학자 문제 - 기다리기만 하다가 아무도 밥 못먹음.
자원 할당 그래프
교착 상태 발생 조건 파악 가능
- 어떤 프로세스가 어떤 자원을 할당 받아 사용 중인지 확인 가능
- 어떤 프로세스가 어떤 자원을 기다리고 있는지 확인 가능
철학자, 게임 예시를 그래프로 그려보면
교착 상태가 발생한 경우, 자원 할당 그래프는 원의 형태를 띄고 있음.
교착 상태가 발생할 조건
아래 조건을 모두 만족하면 교착 상태가 발생할 수 있음.
하나라도 만족하지 않으면 교착 상태가 발생하지 않음.
1. 상호 배제
- 한 프로세스가 사용하는 자원을 다른 프로세스가 사용할 수 없는 상태
2. 점유와 대기
- 자원을 할당 받은 상태에서 다른 자원을 할당 받기를 기다리는 상태
3. 비선점
- 어떤 프로세스도 다른 프로세스의 자원을 강제로 빼앗지 못하는 상태
4. 원형 대기
- 프로세스들이 원의 형태로 자원을 대기하는 상태
학습 출처: https://www.youtube.com/watch?v=bls_GjX-4U8&list=PLVsNizTWUw7FCS83JhC1vflK8OcLRG0Hl
'Computer Science > 운영체제' 카테고리의 다른 글
11. 연속 메모리 할당(적합, 외부 단편화, 압축) (0) | 2023.09.03 |
---|---|
10. 교착 상태 해결 방법 (0) | 2023.09.02 |
8. 동기화 기법(뮤텍스 락, 세마포, 모니터) (0) | 2023.09.02 |
7. 동기화(synchronization) (0) | 2023.09.02 |
6. CPU 스케줄링 알고리즘 (0) | 2023.08.30 |