【问题标题】:What has higher priority on MLFQ?MLFQ 的优先级更高是什么?
【发布时间】:2017-04-08 16:40:37
【问题描述】:

你好,我是计算机编程专业的本科生

我上操作系统课,但我对 MLFQ 调度有疑问

假设MLFQ有两个就绪队列,它们都使用轮询调度方法,时间量分别为3秒和5秒

当然Q1的优先级更高。

那么假设Q1中没有ready进程,那么Q2中的进程可以分配到CPU上。

但是,一个完成IO bound burst的进程返回Q1,CPU中属于Q2的进程没有完成(仅仅3秒)

在这种情况下,会发生什么?

Q1 中的进程现在是否抢占 CPU?

或者现在 CPU 中的进程(来自 Q2)被分配到 CPU 上,直到达到它的时间量(仍然需要 2 秒)?

感谢您的阅读。

【问题讨论】:

    标签: operating-system scheduling


    【解决方案1】:

    完成Q1中的I/O burst后到达的进程将抢占Q2中的进程。引用 Galvin、Gagne 和 Silberchatz 的操作系统原理

    在 Q1 到达的进程将抢占 Q2 中的进程。一个过程 在 Q1 中将依次被到达 Q0 的进程抢占(如果 Q0 存在)。

    所以,任何到达higher priority Q 的进程,都会抢占低优先级Q 的进程,即使没有达到低级进程的时间片。只要更高优先级的ready Q 为空,进程就可以获得CPU。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-17
      • 1970-01-01
      • 2011-05-14
      • 2021-06-03
      • 2017-02-17
      • 2018-12-02
      相关资源
      最近更新 更多