1. 교착상태
교착상태는 두 개 이상의 프로세스가 서로 자원을 기다리며 무한히 대기하는 상태를 말한다.
각 프로세스가 다른 프로세스가 점유하고 있는 자원을 기다리며 이로 인해 프로세스들이 영원히 실행되지 않는 상황이 발생한다.
교착상태 발생 조건
아래 4가지 조건을 모두 만족해야 교착 상태가 발생함할 수 있다.
- 상호 배제(Mutual Exclusion): 자원은 한 번에 한 프로세스만 사용할 수 있다.
- 점유와 대기(Hold and Wait): 자원을 점유하고 있는 프로세스가 다른 자원을 요청하며 대기한다.
- 비선점(Non-preemption): 자원은 강제로 다른 프로세스에게 양도될 수 없다.
- 원형 대기(Circular Wait): 프로세스들이 서로 자원을 기다리며 원을 이루는 대기 상태가 발생한다.
'CS > 운영체제' 카테고리의 다른 글
[운영체제] 연속 메모리 할당 (0) | 2025.01.09 |
---|---|
[운영체제] 교착상태 해결방법 (0) | 2025.01.07 |
[운영체제] 동기화 기법(모니터) (0) | 2025.01.02 |
[운영체제] 동기화 기법(뮤텍스 락, 세마포어) (0) | 2025.01.01 |
[운영체제] 공유 자원과 임계 구역 (0) | 2024.12.29 |