← Back to Blog

[Operating System] Deadlock

computer science > operating system

2026-07-041 min read

#computer-science #operating-system #thread #synchronization #deadlock

둘 이상의 프로세스가 서로 자원을 기다리며 영원히 진행하지 못하는 상태이다.

예시

P1
Lock A
Wait B

P2
Lock B
Wait A

Deadlock 발생 조건

조건의미
Mutual Exclusion자원을 공유할 수 없다.
Hold and Wait자원을 가진 채 다른 자원을 기다린다.
No Preemption자원을 강제로 빼앗을 수 없다.
Circular Wait프로세스들이 원형으로 서로의 자원을 기다린다.
P1 → P2 → P3 → P1

위 4개가 모두 만족해야 Deadlock이 발생한다.

핵심 정리내용
발생 조건네 조건이 모두 동시에 만족해야 한다.
예방 방향네 조건 중 하나라도 깨면 deadlock을 예방할 수 있다.
대표 신호여러 프로세스가 서로 lock을 잡은 채 상대 lock을 기다린다.