A 50 1
B 20 2
C 30 3
ProcessId Time Order
给定上面使用循环的过程信息表,平均等待时间是多少?假设时间量子非常小(0.5 s(?
显然答案是43秒。我不明白怎么会这样。我可以得到一些帮助吗?
我预计 P2 将首先完成,它的等待时间为(A 为 40 个量子 + C 为 39 个量子(= 79 个量子 = 39.5 秒。
我预计 P3 将获得第二名,它的等待时间为(A 为 80 个量子 + B 为 40 个量子(= 120 个量子 = 60 秒。
我预计 P1 最后完成,它的等待时间为(B 为 40 个量子 + C 为 80 个量子(= 120 个量子 = 60 秒。
平均值 = (39.5 + 60 + 60(/3 = 53.2 秒。然而,答案似乎是43秒。
最初,流程表如下所示:
A 100 1
B 40 2
C 60 3
ProcessId Quanta Order
对于前 40*3=120 个量子,将有 3 个进程正在运行。过程 B 将更快地完成 1 个量子(在 119 个量子之后(,如果需要 119 个量子才能获得 40 个量子,那么它一定一直在等待 79 个量子。
在前 120 个量子之后;工艺表如下所示:
A 60 1
C 20 3
ProcessId Quanta Order
对于接下来的 20*2=40 个量子,将有 2 个进程正在运行。过程 C 将在 120+40 个量子后完成,如果需要 160 个量子才能获得 60 个量子,那么它一定一直在等待 100 个量子。
在前 160 个量子之后;过程表如下所示:
A 40 1
ProcessId Quanta Order
对于接下来的 40*1=40 个量子,将有 1 个进程正在运行。过程 A 将在 120+40+40 个量子后完成,如果需要 200 个量子才能获得 100 个量子,那么它一定在等待 100 个量子。另一种计算方法是,A 必须等待消耗多少量子 B 和 C,即 40+60 = 100 个量子。
平均等待时间为 (79+100+100(/3 = 93 量子 = 46.5 秒。