오늘은 OS의 데드락(Deadlock)에 대해서 알아보는 시간을 갖도록 하겠다. (1) 개념 - 데드락은 두 개 이상의 작업이 서로 상대방의 작업이 끝나기 만을 기다리고 있기 때문에 결과적으로 아무것도 완료되지 못하는 상태를 가리킨다. 즉, 프로세스가 자원을 얻지 못해서 다음 일을 처리하지 못하는 상태이다. 교착 상태라고도 말하는데 보통 시스템적으로 한정된 자원을 여러 곳에서 동시에 사용하려고 할 때 발생한다. 다중 프로그래밍 환경에서 흔히 발생할 수 있는 문제이다. ex) 프로세스 1이 리소스 1을 사용하고 있고, 리소스 2를 사용하기 위해 요청했으며 프로세스 2가 리소스 1을 사용하기 위해 요청했고, 리소스 2를 사용하고 있다면 프로세스 1 -> 리소스 1(사용 - Lock) / 리소스 2(요청 - ..