교착상태
[OS] Process 동기화 (3) Deadlock
[OS] Process 동기화 (3) Deadlock (교착상태) Deadlock란, 프로세스에 자원이 잘못 분배되었을 때 일어난다. 간단히 말하자면, 만약 한 프로세스가 자원 A를 가지면서 자원 B를 요구한다고 가정해보자. 이 상태에서 다른 프로세스가 자원 B를 가지고 있으면서 A를 요구하고 있는 상황이라면 이도저도 못하는 상태가 되어 버린다. 이를 deadlock이라고 한다. Deadlock에 빠지는 조건 4가지 교착상태에 빠지는 조건은 총 4가지가 있다. 이 4가지 조건을 모두 만족할때 교착상태에 빠지게 된다. Mutual Exclusion (상호배제) : 한번에 오직 하나의 프로세스가 하나의 자원만 사용 Hold and Wait (점유하고 대기): 자원을 할당받은 상태에서 다른 프로세스가 사용중인..