Understanding multilevel feedback queue scheduling

I'm trying to understand multilevel feedback queue scheduling and I came across the following example from William Stallings Operating Systems Internal and Principles Design (7th ed).

I got this process:

在这里输入图像描述

And the result in the book is this:

I believe I'm doing the first steps wright but when I get to process E CPU time my next process is B not D as in the book example.

I can't understand if there are n RQ and after each time a process get's CPU time it is demoted to a lower priority time RQ or if, for example, process A is in RQ1 and there are no process at the çower RQ , the process is promoted to that ready queue (this is how I am doing).

Can someone explain me the process how, at the above example, after E is processed, D gets CPU time and them E (and not B ) is served?


The multilevel feedback algortihm selects always the first job of the lowest queue (ie, the queue with the highest priority) that is not empty.

When job E leaves RQ1 (time 9), job D is in queue RT2 but job B in RT3. Thus, B is executed. Please consider the modified figure, where the red numbers give the queue in which the job is executed.

As you can see, job B has already left RT2 at time 9 (more preceisly, it leaves RT2 at time 6), whereas job D has just entered.

链接地址: http://www.djcxy.com/p/14850.html

上一篇: 从内核空间中的线程调度

下一篇: 了解多级反馈队列调度