반응형

데드락(Deadlock, 교착 상태)이란?


데드락 

운영체제에서 데드락(교착상태)이란 시스템 자ㅣ원에 대한 요구가 뒤엉킨 상태

 

즉 둘 이상의 프로세스가 다른 프로세스가 ㅇ점유하고 있는 자원을 서로 기다릴때 무한 대기에 빠지는 상황

 

 

데드락의 발생 조건 

 

  • 상호 배제
    • 한 번에 프로세스 하나만 해당 자원을 사용할 수 있다. 사용 중인 자원을 다른 프로세스가 사용하려면 요청한 자원이 해제될 때까지 기다려야 한다.
  • 점유 대기
    • 자원을 최소한 하나 보유하고, 다른 프로세스에 할당된 자원을 점유하기 위해 대기하는 프로세스가 존재해야 한다.
  • 비선점
    • 이미 할당된 자원을 강제로 빼앗을 수 없다(비선점).
  • 순환 대기
    • 대기 프로세스의 집합이 순환 형태로 자원을 대기하고 있어야 한다.
  • 위 4가지 상활이 모두 발생 되어야 데드락이 걸린다.

데드락(Deadlock)의 해결법

데드락의 해결법을 크게 3가지로 분류할 수 있습니다.

  • 데드락이 발생하지 않도록 예방(prevention) 하기
  • 데드락 발생 가능성을 인정하면서도 적절하게 회피(avoidance) 하기
  • 데드락 발생을 허용하지만 데드락을 탐지(detection)하여, 데드락에서 회복하기
반응형

+ Recent posts