데드락의 개념
한정된 자원을 여러곳에서 사용하려고 할 때 발생하는 것으로 '교착상태'라고도 한다. 프로세스가 자원을 얻지 못해 다음 처리를 하지 못하는 상태로 남아 있는 것을 말한다.
데드락의 필요조건
교착 생태가 발생하기 위해서는 아래의 4개의 조건을 충족시켜야 발생합니다.
- 상호 배제 : 한 프로세스가 사용하는 자원은 다른 프로세스와 공유할 수 없는 배타적인 자원이어야 한다. (즉, 동시에 사용할 수 없는 자원을 이용)
- 비선점: 이미 다른 프로세스에게 할당된 자원은 빼앗을 수 없다.
- 점유와 대기 : 프로세스가 어떤 자원을 가진 상태에서 다른 자원을 기다리는 상태여야 한다.
- 원형 대기 : 점유와 대기를 하는 프로세스간의 관계가 원으로 이루어야 한다
데드락의 해결방법
데드락의 해결방법으로는
- 교착상태 예방
- 교착상태 회피
- 교착상태 검출
- 교착상태 회복
이렇게 4가지 방법이 있다.