你好,我是计算机编程的本科生
我接受操作系统类,我对MLFQ调度有疑问
假设MLFQ有两个就绪队列,它们使用循环调度方法,其中时间量为3秒和5秒
当然Q1的优先级更高 .
然后假设Q1中没有就绪过程,因此可以在CPU上分配Q2中的过程 .
但是,完成IO绑定突发的进程返回到Q1,而没有进行属于Q2的CPU处理(仅3秒钟)
在这种情况下,会发生什么?
Q1中的进程是否正在抢占CPU?
或者CPU中的进程(来自Q2)在CPU上分配,直到达到它的时间量(仍需要2秒)?
谢谢你的阅读 .
1 回答
在
Q1
完成I/O burst
后到达的进程将在Q2
中抢占该进程 . 引用Galvin,Gagne和Silberchatz的操作系统原则:因此,任何到达
higher priority Q
的进程都将抢占优先级较低的进程Q
,即使没有达到较低进程的时间量 . 只要优先级较高的ready Q
为空,进程就会获得CPU .