【问题标题】:System Programing | Scheduling Times系统编程 |调度时间
【发布时间】:2013-11-13 16:07:18
【问题描述】:

我正在尝试理解这些调度算法:

  • 先到先得 (FCFS)
  • 最短作业优先 (SJF)
  • 最短剩余时间 (SRT)
  • 循环赛 (RR)

所以,给定一些输入:

Process Name: A; Arrival Time: 0; Expected CPU Running Time: 3
Process Name: B; Arrival Time: 1; Expected CPU Running Time: 5
Process Name: C; Arrival Time: 3; Expected CPU Running Time: 2
Process Name: D; Arrival Time: 9; Expected CPU Running Time: 5
Process Name: E; Arrival Time: 12; Expected CPU Running Time: 5

FCFS 将调度为AAABBBBBCCDDDDDEEEEE

我似乎无法弄清楚其余部分。有人可以帮我解释一下区别吗?

我尝试了谷歌搜索,但我从 SJF 得到的结果有点令人困惑。

【问题讨论】:

    标签: algorithm scheduling round-robin


    【解决方案1】:

    我只是给你一些提示。

    对于 SJF 和 SRT,您并没有真正定义 - 只是从逻辑上考虑名称。

    对于 SJF,选择到达时间最短的未完成工作。使用作业的总时间,即 3,5,2,5,5 - 不要注意该作业已经安排了多少时间。

    对于SRT,选择剩余时间最少的到达的未完成工作。剩余时间简单地定义为总时间减去已经安排的时间。因此,在时间 2,您已经安排了 AA,因此 A 的剩余时间将是 3-2 = 1

    对于 SJF 和 SRT,冲突(当有两个工作的时间相同时)可能可以通过选择最先到达的工作来解决。对于 SRT,也可以通过选择最长的工作来解决冲突。您必须确认这一点。

    请注意,这些算法有两种变体 - 抢占式非抢占式。简而言之,抢占式意味着,在每个时间步,您都选择下一步要执行的作业。另一方面,对于非抢占式,一旦你选择了一份工作,你就会安排该工作直到它完成,无论是否有一个新到的工作时间更短。更详细的解释见this

    对于 RR,只需选择您最久之前选择的那个。

    【讨论】:

    • 所以 sjf 会是 AAACCBBBBBDDDDDEEEEE?
    • 我还是不明白你对 SRT 的解释。
    • @NewFile 我稍微修改了我的解释。
    • @NewFile No. 让我们看一下时间 1。A 的 RT = 3-1 = 2,B 的 RT = 5-0 = 5,并且 2
    • @NewFile 将BCC 替换为CCB,然后是的。在时间 3,B = 5 的 RT,C = 2 的 RT。哦,你有 1 个太多的 E 和 1 个太少的 D。
    猜你喜欢
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-06
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    相关资源
    最近更新 更多