본문 바로가기

Computer Science/os

교착상태 (deadlock)

- 다중 프로그래밍 체제에서 하나 또는 그 이상의 프로세스가 수행할 수 없는 어떤 특정 사건(event)을 기다리고 있는 상태. 망에서는 사용 가능한 버퍼가 없어 일단의 노드들이 패킷을 전송할 수 없는 상태이다.

- 2개 또는 그 이상으로 분리되어 실행 중인 프로세스들이 여러 자원에 대하여 경쟁을 하는 상황. P라는 프로세스가 자원 X, 그리고 자원 Y를 필요로 하며 수행 중 자원 요청도 이와 같은 순서로 한다고 가정하고, 동시에 프로세스 Q는 자원 Y, 그리고 자원 X를 필요로 하고 자원 요청 역시 같은 순서로 한다고 가정하자. 만약 프로세스 P가 자원 X를 획득하였고, 동시에 프로세스 Q가 자원 Y를 획득하였다면, 다음에 어떤 프로세스도 요구하는 자원을 획득할 수 없다. 왜냐하면 각각 이미 다른 프로세스에 할당되었기 때문이다.

- 데이터 통신망에서 송신기 및 수신기 간에 전송할 정보는 있지만 송수신에 필요한 자원이 서로 맞물려 있어 송수신이 이루어질 수 없는 현상. 교착 상태에는 직접, 간접 및 재조립 교착 상태가 있다.

'Computer Science > os' 카테고리의 다른 글

FSM 구현(Mealy machine, moore machine)  (0) 2014.01.24
The Dining Philosophers  (0) 2014.01.24
임계구역 문제  (0) 2014.01.24
Thread의 Def 와 Coding  (0) 2014.01.24
Atomic Operation 이란?  (1) 2014.01.24