5

当使用优先级抢占式调度时,较高优先级是否会让位给优先级较低但突发时间较短的进程?

例如,如果我有:

    Arrival Time   Burst Time   Priority
P1       0             5           3
P2       2             6           1
P3       3             3           2

甘特图会是这样吗?

| P1 | P2 | P3 | P1 |
0    2    8   11   16   
4

3 回答 3

13

优先级调度总是选择当前准备运行的具有最高优先级的进程。如果有多个进程具有当前最高优先级,则需要第二种调度算法来在这些进程中进行选择。非抢占式优先级调度仅在正在运行的进程完成其工作或(自愿)让给调度程序时选择一个新进程来运行。

抢先优先级调度是相同的算法,但如果一个新进程的优先级高于当前正在运行的进程,它会立即被选中。新进程不必等到当前运行的进程完成或退出。

在您的示例中,抢占式优先级调度的甘特图和 3 是最高优先级和 1 最低优先级如下所示:

| P1 | P3 | P2 |
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
于 2012-02-11T20:04:16.410 回答
2
| p1 | p2 | p3 | p1 |

0....2....8....11...14   

以 1 为最高优先级。

于 2012-09-07T17:36:49.970 回答
0
       |p1  |p2  |p3  |p1  |

       0    2    8    11   14 

因为如果新到达的进程的优先级高于当前正在运行的进程的优先级,抢占式方法将抢占。

于 2014-09-14T14:47:13.850 回答