CS/운영체제
[운영체제] 13-1 교착 상태란
서니션
2024. 8. 25. 16:13
이 글을 혼자 공부하는 컴퓨터구조 + 운영체제 (한빛미디어) 책을 읽고 혼자 공부한 내용입니다.
잘못 이해한 부분이 있을 수 있고, 문제가 있는 부분 댓글로 알려주시면 수정하겠습니다.
프로세스를 실행하기 위해서는 자원이 필요한데,
두 개 이상의 프로세스가 각자 가지고 있는 자원을 무작저 기다린다면 그 어떤 프로세스도 더 이상 진행할 수 없는 교착 상태가 됨
자원 할당 그래프
어떤 프로세스가 어떤 자원을 사용하고 있고, 어떤 프로세스가 어떤 자원을 기다리고 있는지를 표현하는 간단한 그래프
규칙
1. 프로세스는 원으로, 자원의 종류는 사각형으로 표현
2. 사용할 수 있는 자원의 개수는 자원 사각형 내에 점으로 표현
3. 프로세스가 어떤 자원을 할당받아 사용 중이라면 자원에서 프로세스를 향해 화살표를 표시
4. 프로세스가 어떤 자원을 기다리고 있다면 프로세스에서 자원으로 화살표를 표시
교착 상태가 발생한 상황은 자원 할당 그래프가 원의 형태를 띔 (하지만 반드시 교착 상태가 발생하는것은 아님)
교착 상태 발생 조건
상호 배제
한 프로세스가 사용하는 자원을 다른 프로세스가 사용할 수 없을 때
점유와 대기
자원을 할당받은 상태에서 다른 자원을 할당받기를 기다리는 상태
비선점
어떤 프로세스도 다른 프로세스의 자원을 강제로 빼앗지 못함
원형 대기
프로세스들이 원의 형태로 자원을 대기하는 것