OS Advanced Scheduling

MLFQ 에이징과 RM/EDF 실시간 스케줄링

고급 스케줄링은 우선순위 조정으로 기아를 줄이고, 실시간 작업은 주기와 deadline을 기준으로 보장 가능성을 따진다.

01

큐 분리

MLFQ는 짧고 interactive한 작업을 높은 큐에 두고 CPU를 오래 쓰면 아래로 내린다.

feedback
02

에이징 적용

오래 기다린 작업은 우선순위를 올려 starvation을 완화한다.

aging
03

RM 판단

Rate Monotonic은 주기가 짧은 태스크에 고정 우선순위를 높게 준다.

fixed priority
04

EDF 판단

Earliest Deadline First는 가장 가까운 deadline을 가진 작업을 동적으로 먼저 실행한다.

dynamic deadline
MLFQ
작업 특성을 모를 때 실행 행동을 보며 우선순위를 조정한다. 큐 수, quantum, boost 주기가 정책 품질을 좌우한다.
adaptive
RM
단순하고 예측 가능하지만 CPU 이용률 한계가 있다. 주기적 실시간 태스크 집합의 schedulability를 따진다.
periodic tasks
EDF
이론적으로 높은 이용률을 달성하지만 overload에서 불안정할 수 있다. deadline miss 처리 정책이 필요하다.
overload behavior

스케줄링 정책 비교

기아 낮은 우선순위 작업의 최대 대기 시간이 제한된다.
deadline 실시간 태스크는 평균 응답 시간이 아니라 deadline miss를 본다.
역전 priority inversion 가능성이 있으면 priority inheritance를 검토한다.

정책 축

MLFQ: behavior -> priority
RM: shorter period -> higher priority
EDF: earliest deadline -> run first