정의 세마포어를 통해 구현한 대기 큐는 둘 이상의 프로세스가 현재 대기 중인 프로세스에서만 발생할 수 있는 이벤트를 기다리는 상황이 발생할 수 있다. 그림에서 P0은 P1이 signal(Q)를 실행하기 전까진 wait(Q) 문장에서 계속 대기한다. 마찬가지로 P1도 P0이 signal(S)를 실행하기 전까진 wait(S) 문장에서 계속 대기한다. 두 프로세스 모두 결국 signal() 문장을 실행할 수 없기 때문에, 두 프로세스 모두 무한히 대기하게 된다. 이러한 상황을 교착 상태(Deadlock)라 한다. 즉, 한 프로세스가 요구하는 자원을 대기 중인 다른 프로세스가 가지고 있는(hold) 경우를 말한다. 용어 Request : 프로세스가 해당 자원을 요청한다. 만약 자원을 요청한 프로세스가 그 즉시 ..