【问题标题】:Question of understanding regarding the processes and queue of the round robin algorithm关于循环算法的进程和队列的理解问题
【发布时间】:2020-07-10 03:52:03
【问题描述】:

第一个问题:循环(Quantum = 1)

假设在时间单元 1 中队列是 (A, B),在时间单元 2 中添加了进程 C。
时间单位 2 中的队列是什么?

A: 队列 = (B, A, C)
B: 队列 = (B, C, A)


第二个问题:循环法(Quantum = 4)

假设在时间单元 1 中,队列为 (A,B,C),进程有如下服务时间:

过程 A:2 个定量
过程 B:1 个定量
过程 C:2 个定量

下列哪个程序是正确的?

过程 1:
过程 A 有 4 个 quants 可用。
流程 A 在 2 个 quants 后完成。
流程 B 有 4 个 quants 可用。
流程 B 在 1 个量化后完成。
流程 C 有 4 个量化可用。
流程 C 在 2 个量化后完成。

程序 2:
流程 A 有 4 个可用的 quants。
流程 A 在 2 个 quants 后完成。
流程 B 有 6 个可用的 quants。 (2 A + 4 B)
流程 B 在 1 个量化后完成。
流程 C 有 9 个量化可用。 (1 A + 4 B + 4 C)
经过 2 次量化后,流程 C 完成。

程序 3:
流程 A 有 4 个 quants 可用。
流程 A 在 2 个 quants 后完成。
流程 B 有 2 个 quants 可用。 (2 A)
流程 B 在 1 个 quant 之后完成。
流程 C 有 1 个 quant 可用。 (1 A)
过程 C 使用 1 个定量。
时钟再次重置为 4 个 quant。
再进行 1 个量化后,流程 C 完成。

【问题讨论】:

    标签: algorithm operating-system scheduling round-robin


    【解决方案1】:

    在我的笔记中找到了第一个问题的答案:

    “作业被放回队列的末尾。在此期间创建的所有作业都在此作业之前进入队列。”

    所以第一个问题的正确答案是B。

    根据Quora,第二个问题的正确答案是程序1。如果不正确,请纠正我。

    https://www.quora.com/If-the-process-finished-before-a-time-quantum-in-round-robin-does-the-process-wait-for-the-given-time-quantum-or-does-it-get-executed-without-waiting

    【讨论】:

      猜你喜欢
      • 2021-08-04
      • 2011-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多