본문 바로가기

학교공부/운영체제

Deadlock

Deadlock이란? 

 

 

각 프로세스가 서로 기다리기만 하는 상태. 이른바 교착상태이다.

 


Deadlock을 발생시키는 네 가지 조건이 있다.

네가지 조건이 모두 만족했을때 Deadlock이 발생할 가능성이 생김.

 

 

현재 os에서 deadlock을 다루는 방법

  • Deadlock prevention
    : 위 조건 4가지중 하나라도 만족 안하면 prevention 가능
  • Deadlock avoidance
    : 운영체제에서 할당하는 자원이 deadlock이 될 가능성이 있는지 판단해서 알맞게 할당해서 avoidance한다.
    : 근데 너무 복잡하고 overhead가 너무 커서 요즘 운영체제에서는 지원 안한다.
  • Deadlock detection and recovery
    : 일단 주고 주기적으로 검사한다. 근데 이것도 안씀.

그럼 운영체제는 뭐하나? 그냥 적은 가능성 무시한다.

프로그램을 만드는 사람이 deadlock을 안생기게 짜야됨.

 

 

 

 

 

 

 

'학교공부 > 운영체제' 카테고리의 다른 글

Memory Management Starategies -2  (0) 2020.05.22
Memory Management Starategies  (0) 2020.05.20
Synchronization  (0) 2020.05.09
Process Scheduling - 2  (0) 2020.05.01
Process Scheduling  (0) 2020.04.29