본문 바로가기
반도체 그 다음 학문/운영체제 (OS)

운영체제 Multilevel Feedback Queue ( 멀티레벨 피드백 큐 )

by 전컴반 2022. 4. 13.
반응형
Multilevel Feedback Queue

 

- Multilevel Feedback Queue가 나오게 된 배경에 대해서는 앞선 포스팅에 얘기했다. 잘 모르겠다면 읽어보는 걸 추천한다.

2022.04.13 - [내가 하는 전자공학/운영체제 (OS)] - 운영체제 Multilevel Queue ( 멀티 레벨 큐 )

 

운영체제 Multilevel Queue ( 멀티 레벨 큐 )

Multi level Queue - 우선순위의 이슈가 생기니 좀 더 세분화하여 프로세스들을 관리할 방법을 생각하다 보니, Multi level Queue의 개념이 나왔다. 앞선 CPU Scheduling Algorithms에 대해 알고 있어야 우선순위..

wpaud16.tistory.com

 

바쁘신 분을 위해 간단히 설명하면, 우선순위가 높은 큐에 들어가면 다른 우선순위가 높은 큐로 이동하기 쉽지 않다. 이런 이유 때문에 Multilevel Feedback Queue는 프로세서간의 이동에 초점을 맞췄다. 우린 우선순위 알고리즘에서 일정 시간에 따라 우선순위를 조정하는 방법을 Aging이라고 얘기했다. 이처럼 Aging을 어떻게 구현하여 적용시키는지가 Multilevel Feedback Queue라고 볼 수 있다.

 

어떻게 구현해야 할까?? 5가지 정도로 볼 수 있다.

 

1. 여러 개의 큐로 구성

2. 각각의 큐마다 서로 다른 알고리즘 적용 가능

3. 언제 프로세서의 우선순위를 높일지 결정하는 방법

4. 언제 프로세서의 우선순위를 낮출지 결정하는 방법

5. 프로세서들이 어느 Queue에 들어갈지 결정하는 방법

 

어떻게 동작하는지 예를 들어보자

 

 

 

먼저, 처음 들어온 프로세서는 Queue 0에 들어간다. 즉 제일 높은 우선순위 큐에 들어간다. 이때 queue 0의 알고리즘이 RR이고 quantum이 8이라고 하자, 만약 프로세서가 q시간 안에 끝나면 queue 0에 그래도 남는다.

조금 다르게 말하면 q보다 더 짧다면 남는다는 의미다. 하지만 q 시간을 넘어서 프로세서의 time quantum이 다 찼다면, 다음 queue로 넘어간다. 이때는 이전의 quantum보다 더 긴 quantum을 가진 queue로 설정하여 Aging을 한다.

 

이런 식으로 반복하다 제일 마지막에는 FCFS를 선택한 queue로 들어간다.

이건 하나의 동작 예시이니 참고하면 좋다.

반응형

댓글