MLQ와 MFQ
이전 SPN, SRTN, HRRN의 단점인 BT예측 overhead를 해결
MLQ(Multi Level Queue)
- ready queue가 여러 개 가짐
- 각각의 큐마다 작업 또는 우선순위 배정
- 최초 배정 된 큐는 고정. 큐 이동 못함.
- 각각의 큐 자신만의 스케줄링 기법 사용
- 큐 사이에는 우선순위 기반의 스케줄링 사용(각각 큐가 우선순위가 다르다)
MLQ의 단점
- 우선순위 낮은 큐는 여전히 starvation 현상 발생 가능
- 여러 개 큐 관리 등 스케줄링 overhead 발생
- 큐 고정. 시스템 변화 적응 어려움
MFQ(Multi Level Feedback Queue)
-MLQ와의 차이: 프로세스의 큐간 이동이 허용
- Feedback을 통해 우선순위 조정
- 프로세스에 대한 사전 정보 없이 SPN, SRTN, HRRN 기법 효과
MFQ 특성
- Dynamic priority
- Preemptive scheduling
MFQ 변형
- 각 ready queue마다 시간 할당량을 다르게 배정 가능
ex) 중요한 프로세스 time quantum= infinite, 덜 중요 time quantum= 2ms
- 큐 이동 기준이 되는 정책/전략 선택 가능
ex) 입출력 위주 프로세스(I/O bounded)들은 상위 레벨 큐로 이동(우선순위 높임)
- 프로세스가 block될 때 상위 큐로 진입하게 함.
- 평균 응답 시간 줄임? I/O bounded는 CPU 잠깐 쓰고 나옴. 입출력 작업 분산 시킴
ex) 대기 시간이 지정된 시간 초과한 프로세스들은 상위 레벨 큐로 이동
- aging 기법
MFQ의 단점
- 큐 이동, 큐 관리-> 스케줄링 overhead 큼
- 여전한 starvation 문제(낮은 우선순위 큐)
'OS' 카테고리의 다른 글
Concurrency vs Parallelism (0) | 2022.02.10 |
---|---|
[OS] Lecture 6. Process Synchronization and Mutual Exclusion (1/7) - Introduction (0) | 2022.02.05 |
[OS] Lecture 5. Process Scheduling (3/4) - SPN, SRTN, HRRN (0) | 2022.02.05 |
[OS] Lecture 5. Process Scheduling (2/4) - FCFS, RR (0) | 2022.02.05 |
[OS] Lecture 5. Process Scheduling (1/4) (0) | 2022.02.05 |