- 두 개 이상의 프로세스들의 서로가 가진 공유 자원을 기다리며 중단된 상태
- 한 프로세스가 자원을 독점하고 있으며 다른 프로세스들은 접근 불가
- 특정 프로세스가 점유한 자원을 다른 프로세스가 요청하는 상태
- 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없음
- 프로세스의 집합에서 순환 형태로 자원을 대기하고 있어야 함
교착 상태 발생 조건 중 하나를 제거하면서 해결 (자원 낭비 심함)
- 상호배제 부정: 여러 프로세스가 공유 자원 사용
- 점유대기 부정: 프로세스 실행 전 모든 자원 할당
- 비선점 부정: 자원 점유 중인 프로세스가 다른 자원을 요구할 때 가진 자원 반납
- 순환대기 부정: 자원에 고유번호 할당 후 순서대로 자원 요구
은행원 알고리즘 - 교착 상태 발생 시 피해나가는 방법
교착 상태가 되도록 혀용한 다음 회복 (선 탐지 후 회복)
교착 상태는 매우 드물게 일어나기 때문에 처리하는 비용이 더 커서 교착 상태 발생 시 '응답 없음' 메시지를 띄우고 사용자가 직접 작업 종료하게 함