2012-07-24 440 views
3

如下表:如何计算平均等待时间在抢占优先级调度

enter image description here

我想计算优先级抢占调度的平均等待时间。

在上表中,数字越大(在优先级列中),优先级越高。

部分解决:

|p1|p3|p1|p2|p5|p4| 
0 8 29 33 52 67 80 

我怎么在这里做什么?

谢谢

回答

12

您是否了解您发布的部分解决方案(实际计划)?

Waiting time of a process = finish time of that process - execution time - arrival time

一旦你有了这个对所有过程,然后只取平均值。这将使你的调度算法的平均等待时间这种情况下

更多细节:

这过程p1没有等到第8秒。然后在t = 9时被抢先。在执行过程p3时,它从时间t = 9到t = 29处于等待模式。所以p1已经等待了21秒,而p3正在执行。在t = 29时,p1再次开始并在t = 33完成。总共p1已经等待了21秒。根据公式,我们得到等待时间为33-12-0 = 21。基本上,对于每个过程,我们看看它到达的时间和完成时间。任何时候在这段时间之间不执行是等待时间

+0

是的,我做了,但进程'p1'从'0-8'和'29-33'运行。我如何处理他?谢谢 – ron 2012-07-24 22:38:05

+3

这里p1没有等到头8秒。然后在t = 9时被抢占。那么它在p3执行时处于等待模式,从9到29。所以p1已经等待了p3的执行21秒。在29时,它再次开始,并在33完成。现在总共P1已经等待了21秒。根据你得到的公式,33-12-0 = 21。现在你知道这个公式如何工作。基本上,对于每个过程,您都会看到它到达的时间和完成时间。这段时间之间的任何时间不执行都是等待时间。 – arunmoezhi 2012-07-24 22:42:57

+1

开始为0.结束它33.执行是8 + 4 = 12。 – Gene 2012-07-24 22:43:22