서로가 점거하고 있는 자원을 서로가 기다리고 있을 때 발생한다.
교착 상태가 발생했을 때의 상황을 그래프로 표현한 것이다.
프로세스는 원으로, 자원은 사각형으로 표현한다.
자원의 개수는 자원 사각형 내에 점으로 표현한다.
프로세스가 어떤 자원을 할당받아 사용 중이라면 자원에서 프로세스를 향해 화살표를 그린다.
프로세스가 어떤 자원을 기다리고 있다면 프로세스에서 자원을 향해 화살표를 그린다.
교착 상태가 발생한 자원 할당 그래프는 원의 형태를 띈다.
교착 상태가 발생하기 위해서는 다음 네 가지 조건이 모두 충족되어야 한다.
교착 상태 해결 방법에는 크게 세 가지가 있다.
교착 상태가 무분별한 자원 할당으로 인해 발생했다고 간주한다. 따라서 자원을 할당하기 전에 교착 상태가 발생하지 않을 것이라고 예상되는 경우에만 자원을 할당한다.
안전 순서열: 시스템의 자원을 할당해도 교착 상태가 발생하지 않는 순서열
안전 상태: 안전 순서열이 있는 상태.
불안전 상태: 안전 순서열이 없는 상태.
사후에 조치하는 방식이다.
선점을 통한 회복: 교착 상태가 해결될 때까지 한 프로세스씩 자원을 몰아주는 방식.
프로세스 강제 종료를 통한 회복: 교착 상태가 해결될 때까지 교착 상태에 있는 프로세스를 강제로 종료시키는 방식.