1) 교착 상태 발생 필요 조건

  1. 상호 배제 : 한 번에 한 스레드만이 그 자원을 사용할 수 있다
  2. 점유하며 대기 : 최소한 하나의 자원을 점유한 채, 자원을 추가로 필요로 하는 것을 대기해야한다.
  3. 비선점 : 사용되는 자원을 중간에 강제로 방출하는 것이 불가능하다.
  4. 순환 대기 : 스레드들간 자원을 순환적으로 할당받길 대기한다.

⇒ 위 네 가지 조건을 모두 만족해야 교착 상태가 가능하다.

2) 자원 할당 그래프

Untitled

⇒ 자원 할당 그래프에 사이클이 없다면, 시스템은 교착 상태가 아니다

⇒ 자원 할당 그래프에 사이클이 있다면, 시스템은 교착 상태일 수도 아닐수도 있다.