CS/OS

16. Deadlock 1

hjkim0502 2022. 3. 30. 17:38

  • request edge: 해당 프로세서가 가리킨 자원을 요청한다는 의미 (할당 전)
  • assignment edge: 해당 자원이 가리킨 프로세서에 할당되어 있다는 의미
  • 왼쪽 예제부터 deadlock (X), deadlock (O), deadlock (X)

  • 현대에는 대부분 OS가 deadlock을 책임지지 않고 사용자에게 맡긴다
    • deadlock이 그렇게 자주 발생하지 않기 때문에 이를 미연에 방지하기 위해 하는 작업의 오버헤드 때문
  •  

  • 두번째 그래프에서 자원2를 프로세스2에 할당하면 생길 위험한 상황을 미리 방지하고자 프로세스2에 할당 X

  • 현재 available 자원으로 need 자원이 충족되는 프로세스를 우선으로 할당해준다
  • 이후 자원을 다 활용하고 반납하여 available 자원이 늘어나면 또 그에 맞는 프로세스에게 할당

 

출처: https://core.ewha.ac.kr/publicview/C0101020140411151510275738?vmode=f