优先抢先调度

rap*_*yen 5 scheduling process gantt-chart

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

例如,如果我有:

    Arrival Time   Burst Time   Priority
P1       0             5           3
P2       2             6           1
P3       3             3           2
Run Code Online (Sandbox Code Playgroud)

Gannt图表看起来像这样吗?

| P1 | P2 | P3 | P1 |
0    2    8   11   16   
Run Code Online (Sandbox Code Playgroud)

Joh*_*iss 13

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

抢先优先级调度是相同的算法,但如果具有比当前正在运行的进程更高优先级的新进程到达,则立即选择它.新流程不能等到当前正在运行的流程完成或收益.

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

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