토픽 16 / 85·CPU 스케줄링
기아현상 (Starvation)
기아현상 (Starvation)
특정 프로세스가 자원을 할당받지 못하고 무한히 대기하는 현상으로, 스케줄링 정책의 불공정성이나 우선순위 편중으로 인해 발생 (컴137 기출)
특징: 프로세스가 살아있으나 진행 불가, 비결정적 발생, 시스템 전체 데드락과 다름
발생 원인
- •SJF/SRTF에서 긴 CPU burst 프로세스가 짧은 프로세스에 계속 밀림
- •우선순위 스케줄링에서 낮은 우선순위 프로세스가 영구 대기
- •Writer 우선 Reader-Writer 문제에서 Reader 기아
- •세마포어 대기 큐에서 LIFO 정책 사용 시
해결 방법
- •에이징(Aging): 대기 시간에 비례하여 우선순위 점진적 상승 (예: 15분마다 +1)
- •공정 스케줄링(Fair Scheduling): CFS처럼 vruntime 기반 공정 분배
- •FIFO 대기열: 자원 요청을 도착 순서로 처리
- •MLFQ 부스팅: 주기적으로 모든 프로세스를 최상위 큐로 재배치
비교
연관: 스케줄링, 우선순위, 에이징, 데드락, 공정 스케줄링