한눈에 보는 정의

교착 상태(Deadlock)는 둘 이상의 프로세스가 각각 자원을 하나씩 점유한 채, 서로 상대방이 점유한 자원을 기다리면서 아무도 더 이상 진행하지 못하고 무한히 멈춰버리는 상태를 뜻합니다.

자세히 알아보기

  • 예문: "프로세스 A는 자원 1을 쥔 채 자원 2를 기다리고, 프로세스 B는 자원 2를 쥔 채 자원 1을 기다리면 교착 상태에 빠진다."
  • 상호 배제(Mutual Exclusion) (상호 배제), 점유와 대기(Hold and Wait) (점유와 대기), 비선점(No Preemption) (비선점), 환형 대기(Circular Wait) (환형 대기) 네 가지 조건이 동시에 성립할 때 교착 상태가 발생할 수 있습니다.
  • 이 네 조건 중 하나라도 성립하지 못하게 막으면 교착 상태를 예방할 수 있어, 실제 운영체제는 자원 할당 순서를 제한하거나 선점을 허용하는 방식으로 대응합니다.
  • 교착 상태를 사전에 막는 대신, 발생을 허용하되 주기적으로 탐지해서 관련 프로세스를 강제 종료하는 '탐지 후 회복' 전략을 쓰는 경우도 있습니다.

관련 용어

최종 수정일: 2026년 7월 15일

← 용어사전 전체 목록으로