我想了解这些 调度 </跨度> 算法:
先到先得(FCFS)最短的工作(SJF)最短剩余时间(SRT)循环法(RR)
所以,给出一些输入:
流程名称:A 时间:9;预计CPU运行时间:5工艺名称:E;到达时间:12;预计CPU运行时间:5
FCFS会 时间表 </跨度> 作为AAABBBBBCCDDDDDEEEEE。
我似乎无法解决其余问题。有人可以帮我解释一下这个区别吗?
我尝试使用Google搜索,但我为SJF获得的结果令人困惑。
我会给你一些提示。
对于SJF和SRT,你没有真正的定义 - 只是从逻辑上思考这个名字。
对于 的 水井坊 强> ,选择最短到达未完成的工作。使用工作的总时间,即3,5,2,5,5 - 不注意已经安排了多少工作。
对于 的 SRT 强> ,以最少的剩余时间选择到达未完成的工作。剩余时间简单地定义为总时间减去已安排的时间。所以,在时间2,你已经安排好了 AA 因此剩下的时间 A 将会 3-2 = 1 。
AA
A
3-2 = 1
对于SJF和SRT, 的 冲突 强> (当有两个相同时间的作业时)可以通过选择先到达的作业来解决。对于SRT,也可以通过选择最长的工作来解决冲突。你必须证实这一点。
请注意,这些算法有两种变体 - 的 先发制人 强> 和 的 非抢占 强> 。简而言之,先发制人意味着,您每次都选择下一步执行的工作。另一方面,对于非预备性的,一旦你选择了一份工作,你就可以安排这份工作,直到工作结束,无论是否有新工作的时间更短。看到 这个 有关更详细的解释。
对于 的 RR 强> ,选择你最早选择的那个。