首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >系统规划调度时间

系统规划调度时间
EN

Stack Overflow用户
提问于 2013-11-02 16:18:36
回答 1查看 236关注 0票数 0

我试着理解这些调度算法:

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

因此,考虑到一些投入:

代码语言:javascript
复制
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结果令人困惑。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-02 16:50:49

我就给你点提示。

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

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

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

对于SJF和SRT,冲突(当两个任务具有相同的时间)可能可以通过选择最先到达的任务来解决。对于SRT,冲突也可以通过选择最长的作业来解决。你得确认一下。

请注意,这些算法有两个变体-- non-preemptive.和抢占式。简而言之,先发制人意味着,在每一时间步骤中,您都会选择下一步执行的任务。另一方面,对于非先发制人的人来说,一旦你选择了一份工作,你就会把这份工作安排到完成为止,不管是否有一份新来的工作时间更短。有关更详细的解释,请参见

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19744006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档