CS/운영체제

기아상태(Starvation)

gy2710 2022. 7. 27. 01:35

Starvation

특정 프로세스의 우선 순위가 낮아서 원하는 자원을 계속 할당 받지 못하는 상태

 

Deadlock은 여러 프로세스가 동일 자원에 대한 점유를 요청할 때 발생하고,

Starvation은 여러 프로세스가 부족한 자원을 점유하기 위해 경쟁할 때 발생한다.

 

해결방법

  • 프로세스의 우선 순위를 수시로 변경하여 각 프로세스마다 높은 우선 순위를 가질 수 있는 기회를 준다.
  • 오래 대기한 프로세스의 우선 순위를 높인다.
  • 우선 순위가 아닌 요청한 순서대로 처리하는 Queue를 사용한다.