교착 상태(deadlook)이란 두 개 이상의 작업이 서로 상대방의 작업이 끝나기 만을 기다리고 있기 때문에 결과 적으로 아무것도 완료되지 못하는 상태를 가리킨다.
이 조건 중에서 한 가지 라도 만족하지 않으면 교착 상태는 발생하지 않는다.
상호배제 조건의 제거
상호 배제 조건을 제거하면 교착 상태를 해결할 수 있다.
점유와 대기 조건의 제거
프로세스가 수행되기 전에 모든 자원을 할당시키고 점유하지 않을 때에는 다른 프로세스가 자원을 요구하는 방법이다.
비선점 조건의 제거
비선점 프로세스에 대해 선점 가능한 프로토콜을 만든다.
환형 대기 조건의 제거
자원 유형에 따라 순서를 매긴다
자원 할당 그래프 알고리즘과 은행원 알고리즘을 사용하여 교착 상태를 회피한다.
예방 혹은 회피기법을 프로그래밍해서 넣으면 성능에 영향을 미칠 수 있다. 따라서 데드락 발생 확률이 낮은 경우 조치를 취하지 않는다.
감시 발견을 하는 detection 알고리즘으로 교착 상태 발생을 체크 한다.