[OS] 08. Deadlock

SYiee·2022년 12월 31일
0

🦕Operating System

목록 보기
7/14
post-thumbnail

Deadlock Characterization

네가지 조건이 모두 충족할 때 발생

  • Mutual exclusion
    상호 배재
  • Hold and wait
    : 공유 자원이 여러개가 있을 때 and 하나를 이미 점유를 하고 다른 자원을 기다릴 때
  • No preemption
    : 리소스를 쥐고 있기만 하고 안 내려놓는 상황.
    자발적으로 공유 자원의 점유를 포기 하지 않는 경우
  • Circular wait
    : 생각하는 철학자의 첫번째 버전, 동시에 왼쪽 젓가락을 드는 경우.
    꼬꼬무

→ 하나라도 없게 만들면 데드락이 발생하지 않는다.

Handling Deadlocks

  • Deadlock prevention
    : 사전에 막는다, 위에 네가지 중 하나를 안되게 함으로써 (개발자의 몫)
    (운영체제의 개입)

  • Deadlock avoidance
    : 운체가 모든 상황을 확인해서 데드락을 회피

  • Deadlock detection and recovery
    : 운체가 모니터링을 하면서 데드락이 발생했을 때 후속조치를 해준다.

  • Deadlock ignorance
    : 데드락을 무시한다.

→ 밑에 세개는 안쓰는 거고 개발자가 개발할 때 설계를 잘 해야한다.

profile
게임 개발자

0개의 댓글