각 프로세스는 일부 리소스를 보유한 상태로 다른 프로세스가 보유한 리소스를 기다리기 때문에 교착 상태가 발생
상호 배제
점유와 대기
비선점
환형대기
예방하기 위해서는 단순히, 발생 조건들을 하나라도 부정하면 예방할 수 있지만 자원 활용도 문제나 비용 문제가 발생
상호 배제 부정
점유와 대기 부정
비선점 부정
리소스가 선점되어진다는 것은, 리소스를 언제든지 가질 수 있다는 것을 의미하므로 교착이 발생하지 않지만, 선점시에 기존 정보들의 저장이나 반영이 필요하므로 비용적인 측면이 발생
특정 주체만 리소스를 선점한다면 기아 상태 발생 가능
환형대기 부정
은행원 알고리즘
은행이 사람들에게 돈을 빌려주는 과정에서 유래
안정 상태는 교착 상태가 발생할 가능성 X, 모든 요구를 만족시킬 방법이 존재
불안정 상태는 교착 상태가 발생할 가능성 O, 모든 요구를 만족시킬 방법이 존재하지 않음
불안정 상태와 교착 상태는 동일하지 않음, 불안정 상태는 안정 상태로 갈 수 있음
데드락이 발생했을 때, 리소스를 차지하고 있는 프로세스나 쓰레드를 죽이는 방식
어떤 프로세스나 쓰레드를 죽일지 결정하는 알고리즘이 필요