需要解释问题的循环调度吗?


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 秒。

最新更新