교착상태란

교착상태 조건

  1. 상호배제(Mutual exclusion) : 공유 자원은 한 번에 한 프로세스만 사용할 수 있다.
  2. 점유대기(Hold and Wait) : 프로세스가 적어도 하나의 자원을 점유(Hold)하면서 다른 프로세스가 점유한 자원을 필요로 할 때 해당 자원을 요청한 후 할당받을 때 까지 대기(Wait)할 수 있다.
  3. 비선점(No preemption) : 누가 자원을 사용하고 있다면, 이를 강제로 뺏을 수 없다.
  4. 순환대기(Circular wait) : 각 프로세스는 순환적으로 다음 프로세스가 요구하는 자원을 가지고 있음

교착상태 예방

  1. 예방 : 교착상태 조건 중 하나 이상를 제거하는 것 (자원 낭비 심함)
  2. 회피 : 부가적인 교착상태 회피 알고리즘을 사용
  3. 회복 : 교착상태에 있는 프로세스들을 하나씩 종료함

(식사하는 철학자 문제)

Untitled