토픽 14 / 85·CPU 스케줄링
다중 큐 스케줄링 (MQ, MFQ)
다중 큐 스케줄링 (MQ, MFQ)
프로세스들을 여러 큐로 분류하고 각 큐에 다른 스케줄링 알고리즘을 적용하는 기법으로, 다단계 피드백 큐(MFQ)는 프로세스가 큐 간 이동 가능
목적: 프로세스 특성별 차별화, 응답성과 처리량 균형, 적응적 스케줄링
다단계 큐 (Multilevel Queue, MQ)
- •고정 큐 배정: 프로세스 타입에 따라 큐 할당 (예: 시스템/대화형/배치)
- •큐 간 이동 불가: 영구적 분류
- •각 큐 독립 스케줄링: 상위 큐는 RR, 하위 큐는 FCFS 등
- •큐 간 스케줄링: 고정 우선순위 또는 시간 할당
- •문제: 기아 현상 (하위 큐)
다단계 피드백 큐 (Multilevel Feedback Queue, MFQ)
- •큐 간 이동 가능: 동작에 따라 승격/강등
- •적응적: 프로세스 특성을 학습하여 분류
- •동작 원리:
- •에이징: 오래 대기하면 상위 큐로 승격 (기아 방지)
파라미터: 큐 개수, 각 큐 스케줄링 알고리즘, 큐 타임 퀀텀, 승격/강등 기준
장점: 적응적 스케줄링, I/O 바운드 우대, 응답성 향상
단점: 파라미터 튜닝 복잡, 구현 복잡도
적용사례: Unix, Linux CFS 이전 O(1) 스케줄러, Windows
비교: MQ(고정/단순) vs MFQ(적응적/복잡) vs RR(단일큐)
연관: CPU 스케줄링, 우선순위, 라운드 로빈, CFS