데드락
[운영체제] 교착상태(DeadLock) 예방법
이번 글에서는 데드락이 무엇인지 그리고 그 데드락을 예방 및 회피하는 방법에 대해서 공부한다. 데드락이란? 여러 프로세스들이 실행되면서 서로가 서로를 끝날 때까지 기다리면서 결국 모두 실행되지 못하는 상황을 말한다. [데드락이 걸리는 조건] 데드락을 방지하기 위해 먼저 데드락이 걸리는 조건을 알아보자. 1 ) Mutual exclusion : 자원을 상호배타적으로 사용한다. → 최소한 하나의 자원이 비공유 모드로 점유되어야 함. (비공유 모드에서는 한 번에 한 스레드만이 그 자원을 사용할 수 있음.) 2 ) Hold and wait : 자원을 가지고 있으면서 다른 자원을 기다리는 프로세스로 구성됨. 3 ) No preemption : 강제로 자원을 뺏는 선점을 하지 않는다. 4 ) Circulalr wa..