MLFQ

멀티레벨 피드백 큐는 과거 CPU 사용 패턴으로 미래를 추정한다

짧게 CPU를 쓰고 양보하는 작업은 높은 큐에 남기고, 퀀텀을 계속 소진하는 작업은 낮은 큐로 내려보낸다.

큐 레벨과 퀀텀

Q0 최고 우선순위 새 작업과 짧은 대화형 작업을 빠르게 응답시킨다. 8ms
Q1 중간 우선순위 조금 더 긴 작업에 더 긴 퀀텀을 준다. 16ms
Q2 낮은 우선순위 CPU를 오래 쓰는 작업을 낮은 빈도로 처리한다. FCFS/RR
도착 새 프로세스 먼저 높은 큐에서 짧은 기회를 받는다.
퀀텀 소진 CPU 바운드로 추정 주어진 시간을 다 쓰면 한 단계 낮은 큐로 이동한다.
짧게 양보 I/O 바운드로 추정 빠르게 대기 상태로 가면 높은 우선순위를 유지하기 쉽다.
부스트 다시 관찰 오래 밀린 작업도 주기적으로 높은 큐에서 재평가된다.
좋은 점 실행 시간을 몰라도 짧은 작업과 대화형 작업에 빠르게 반응한다.
위험 게임성 프로세스와 낮은 큐 기아를 방치하면 정책이 왜곡된다.
핵심 큐 이동은 보상이 아니라 관찰 기반 재분류다.

MLFQ는 “짧은 작업을 빨리 끝내고 긴 작업은 뒤로 보낸다”는 SJF의 감각을 실행 이력으로 근사하는 모델이다.