计算循环和fcfs工作时间

时间:2013-03-28 00:38:29

标签: java c multithreading

为什么fcfs从0 99开始,从99到198

对于Round robin,我不明白为什么第一个工作完成时间是500。

解释和示例会有所帮助,谢谢enter image description here

1 个答案:

答案 0 :(得分:1)

FCFS下的作业1的等待时间为0,因为它是立即调度的,因为它是时间t = 0时的唯一作业。作业2来自t = 1但是在作业1在时间t = 100结束后安排,意味着等待99秒(t = 1到t = 100)直到它被安排。类似地,作业3在t = 2时出现并且仅在作业1和2结束之后才被安排,即在t = 200时,意味着等待200-2 = 198秒。

对于循环法,每个作业运行1秒钟并关闭上下文。这种情况有条不紊地发生。因此,在作业1从t = 0到t = 1运行之后,作业2从t = 1运行到2,作业3从t = 2运行到3,依此类推,直到1从t = 5再次运行到t = 6。以这种方式,在5个周期中执行作业1。由于proc 1总共需要100秒,因此它将在500秒完成。

如果您对此说明有帮助,请进行upvote。

编辑:

Round Robin详细信息:

作业1以1秒的块为单位运行总共100秒,每个间隔为4秒(1(作业2的块)+1(作业3)+1(作业4)+1(作业5))。所以它在t = 0,t = 5,t = 10时运行...每次仅1秒钟,由类似的1秒执行的作业2,3,4,5交错。通过这种方式,它的第100次和最后一次执行将在t = 500。