[운영체제] CPU 스케줄링 알고리즘 - 다단계 큐 스케줄링(MLQ, MultiLevel Queue Scheduling)

강민혁·2023년 3월 13일
0

기술면접 | 운영체제

목록 보기
16/32

CPU 스케줄링 알고리즘 - 다단계 큐 스케줄링에 대해 설명하세요

Keyword

ready queue 여러개, queue 별로 다른 알고리즘, 기아 현상, 에이징


Script

다단계 큐 스케줄링(MLQ, MultiLevel Queue Scheduling)은 우선순위별로 ready queue를 여러 개 사용하는 스케줄링 방식입니다. 가장 높은 우선 순위를 가진 queue에 있는 Process들을 먼저 처리하면서 낮은 우선 순위의 queue를 처리해나간다. 이 방식을 사용하면, Process 유형별로 우선순위를 구분하여 실행하는 것이 편리해지고, 각 Queue별로 서로 다른 스케줄링 알고리즘을 사용할 수도 있습니다.

하지만 여전히 기아(starvation)현상이 발생하여, 우선순위가 낮은 process가 계속해서 처리되지 않을 수 있습니다. 이 문제를 해결하기 위해 다단계 피드백 큐 스케줄링(multilevel feedback queue scheduling)이 존재합니다. 다단계 피드백 큐 스케줄링에서는 process가 queue 사이를 이동할 수 있습니다. 그래서 process 생성시에 가장 높은 우선 순위 ready queue에 등록되고, 지정된 time slice안에 끝나지 못한 process는 우선순위가 낮아집니다. 그리고 우선 순위가 낮아질수록 time slice의 크기가 늘어나며, aging을 통해 맨 아래의 queue에서 오래 대기할 경우, 다시 상위 queue로 이동합니다.


Additional


Reference

Book - 혼자 공부하는 컴퓨터 구조+운영체제

[운영체제 OS] 다단계 큐 스케줄링(MLQ), 다단계 피드백 큐 스케줄링(MFQ)

profile
with programming

0개의 댓글