Operating system 优先级抢占式调度算法

Operating system 优先级抢占式调度算法,operating-system,Operating System,使用基于优先级的非抢占式调度算法计算进程P2的等待时间 Process Execution Time Arrival Time Priority P1 4 0 0 P2 1 1 2 P3 3

使用基于优先级的非抢占式调度算法计算进程P2的等待时间

        Process     Execution Time     Arrival Time      Priority
          P1           4                 0                 0
          P2           1                 1                 2
          P3           3                 2                 1
1) 。根据该算法,P1具有最高优先级0,并且它也首先到达。因此,这个时间段被分配为“4”个单位

2) 。接下来,是否先执行Process3(P3)? 甘特图表:

               | P1 | P3 | P2 |
               0    4    7    8
或者,是另一种方式吗

               | P1 | P2 | P3 |
               0    4    5    8
在本程序中,到达时间是否不重要


谢谢

在此过程中,到达时间很重要,但首先您需要知道1是最高优先级还是2是更高优先级 如果1具有更高的优先级,则进程将按以下顺序执行 P1-->P3-->P2(案例优先) 如果2具有更高的优先级,则进程将按以下顺序执行 P1-->P2-->P3(第二种情况)

到达时间在这里也很重要,因为一旦进程0结束,调度程序就必须决定必须执行哪个进程,在这种情况下,在4次间隔后,两个进程都可以执行,因此调度程序将根据优先级决定1是更高还是2
如果p0只将执行时间取为1,那么到达时间或优先级不具有任何意义,因为只有p1可执行,并且调度器不必安排任何事情来查找等待时间,我们必须首先查找其甘特图。 1) -甘特图- |p1 | p2 | p3| 0 4 5 8

2) -p2的等待时间为----------------->4-1 =3 给定到达时间后,等待时间=甘特图中的等待时间到达时间。 因为当进程到达时,就开始等待进程。所以等待时间从进程到达时开始。

我猜,在“基于优先级的非抢占式调度算法”中,到达时间只会在以下意义上起作用:尚未到达的高优先级任务不会排在已到达的低优先级任务之前。在这个特殊的例子中,情况并非如此。。。P1完成时,P2和P3都在队列中。。。