首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SJF算法中平均等待时间的计算

SJF算法中平均等待时间的计算
EN

Stack Overflow用户
提问于 2012-08-09 02:50:14
回答 1查看 42.9K关注 0票数 0

我知道抢占式SJF调度是如何工作的,但我不知道如何计算平均等待时间。

这个例子取自Galvin,Gagne和Silberschatz的“OS原理”。

他们计算平均轮候时间的方法如下:

((10-1)+(1-1)+(17-2)+(5-3)) / 4 = 6.5ms

这是如何计算的?请简化。

另外,如果你能用RR算法解决同样的问题,那就太好了。5ms (用于简单计算),并解释如何计算平均等待时间

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-09 03:02:20

只需查看图表,计算每个进程,他已经等待了多少时间:

P1在开始时运行了1次(他是唯一的),因此他在这里等待0。然后,他从时间1等待到时间10 ->总等待时间= (10-1)。

P2在时间% 1到达,并立即开始运行。所以他根本没有等待-> (1-1)。

P3在时间2到达,并在时间17 -> (17-2)开始运行。

P4到达时间3,开始运行时间5 ->总等待时间= (5-3)。

因此,平均等待时间= ((10-1)+(1-1)+(17-2)+(5-3))/4 = 6.5ms。

编辑: RR的有5个量程,这就是将要发生的事情:

P1到达,并在时间5中获得了5ms ->的量程,他停止了剩余的突发3。接下来,P2将开始从时间5运行到9。(他的突发只有4)。所以你让P2等待(5-1)。

P3将从时间9到时间14开始运行,剩余突发数为4。接下来,P4将从时间14到时间19开始运行,并将结束。P4的总等待时间为(14-3)。

则P1将继续从时间19运行到时间22,并将结束。P1的总等待时间为(19-5)。然后,P3继续从时间22运行到时间26。P3的总等待时间是(9-2) + (22-14)。

因此平均运行时间= ((5-1)+(14-3)+(19-5)+(9-2)+(22-14))/4 = 10.5ms

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

https://stackoverflow.com/questions/11871172

复制
相关文章

相似问题

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