DeadLock이란

won·2023년 1월 16일
0

데드락의 개념

한정된 자원을 여러곳에서 사용하려고 할 때 발생하는 것으로 '교착상태'라고도 한다. 프로세스가 자원을 얻지 못해 다음 처리를 하지 못하는 상태로 남아 있는 것을 말한다.

데드락의 필요조건

교착 생태가 발생하기 위해서는 아래의 4개의 조건을 충족시켜야 발생합니다.

  • 상호 배제 : 한 프로세스가 사용하는 자원은 다른 프로세스와 공유할 수 없는 배타적인 자원이어야 한다. (즉, 동시에 사용할 수 없는 자원을 이용)
  • 비선점: 이미 다른 프로세스에게 할당된 자원은 빼앗을 수 없다.
  • 점유와 대기 : 프로세스가 어떤 자원을 가진 상태에서 다른 자원을 기다리는 상태여야 한다.
  • 원형 대기 : 점유와 대기를 하는 프로세스간의 관계가 원으로 이루어야 한다

데드락의 해결방법

데드락의 해결방법으로는

  • 교착상태 예방
  • 교착상태 회피
  • 교착상태 검출
  • 교착상태 회복
    이렇게 4가지 방법이 있다.
profile
어찌저찌 굴러가는 개발자

0개의 댓글