优先抢先调度

时间:2012-02-11 19:50:24

标签: process scheduling gantt-chart

使用优先抢先式调度时,优先级较高但优先级较低但突发时间较短的进程会产生更高的优先级吗?

例如,如果我有:

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

Gannt图表看起来像这样吗?

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

3 个答案:

答案 0 :(得分:13)

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

抢先优先级调度是相同的算法,但如果新进程的优先级高于当前正在运行的进程,则会立即选中。新流程不能等到当前正在运行的流程完成或收益。

在您的示例中,抢先优先级安排的甘特图和3是最高优先级,1是最低优先级的图表:

|    P1   |  P3 |        P2      |
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

答案 1 :(得分:2)

| p1 | p2 | p3 | p1 |

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

将1作为最高优先级。

答案 2 :(得分:0)

       |p1  |p2  |p3  |p1  |

       0    2    8    11   14 

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