교착 상태를 설명하기 위한 상황
상황
[문제 발생]
모든 철학자가 동시에 포크를 집어 식사를 하면 어떤 철학자도 식사를 할 수 없고 영원히 생각만 하는 상황이 발생할 수 있다.
어떤 프로세스가 어떤 자원을 사용하고 있고, 또 어떤 프로세스가 어떤 자원을 기다리고 있는지를 표현하는 간단한 그래프
규칙
/
교착 상태 발생 필요 조건 네 가지 중 하나의 조건이라도 만족하지 않는다면 교착 상태 발생하지 않음
상호 배제 없앨 경우 : 현실 사용에 무리
점유와 대기 없앨 경우 : OS는 특정 프로세스에 자원을 모두 할당하거나 아예 할당하지 않는 방식으로 배분
비선점 조건 없앨 경우 : 일부 자원에는 효과적이나 범용성이 떨어지는 방안
원형 대기 조건 없앨 경우 : 가장 현실적이로 실용적이나, 특정 자원의 활용률 저하 가능성
교착 상태 발생을 인정하고 사후에 조치하는 방식
선점을 통한 회복 : 교착 상태 해결될 때까지 한 프로세스씩 자원을 몰아주는 방식
프로세스 강제 종료를 통한 회복