✔️ 한 프로세스가 자원을 할당받고 사용중이면 다른 프로세스는 할당받지 못하기 때문에 교착 상태가 발생한다.
두 개 이상의 프로세스가 함께 사용할 수 있다면(배타적 자원이 아니라면) 기다릴 필요가 없으므로, 교착상태로 이어지지 않을 것이다.
✔️ 선점하지 못하는 자원이 존재하기 때문에 교착 상태가 발생한다.
한 프로세스가 다른 프로세스가 사용 중이던 자원을 선점할 수 있다면 기다릴 필요가 없으므로 교착 상태로 이어지지 않을 것이다.
✔️ 일부 자원을 할당 받은 상태에서 다른 자원을 추가로 요청하고 Wait하기 때문에 교착 상태가 발생한다.
p1은 r1을 할당 받고 p2가 r2를 할당받은 상태에서 p1은 r2를, p2는 r1을 요청한 상태는 교착 상태로 이어진다.
✔️ Hold and Wait 에서 한 단계 더 나아간 것으로서, cycle을 형성하고 서로의 자원을 요청하고 있기 때문에 교착 상태가 발생한다.
➡️ 위 4가지 상태가 모두 만족되기 때문에 교착상태가 발생한다.