2012-02-11 61 views
4

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

举例来说,如果我有:

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 

回答

11

优先级调度总是选择过程(ES)与目前准备运行的最高优先级。如果有多个进程具有当前最高优先级,则需要第二个调度算法来选择这些进程。 非抢先式优先级调度只有在正在运行的进程完成其工作或向调度程序自动产生时才会选择要运行的新进程。

抢先式优先级调度是相同的算法,但是如果具有比当前正在运行的进程更高优先级的新进程到达,它将立即被选中。新进程不必等到当前正在运行的进程完成或收益。

在你的样品,甘特图表优先级抢占调度和3为最高,1最低优先级会是什么样子:

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

感谢您的帮助。我不确定爆裂时间是否被考虑在内。 – raphnguyen 2012-02-11 20:19:42

+0

你可能认为*最短作业优先*排程(SJF) – 2012-02-11 20:24:58

+0

你会接受答案,如果你喜欢它可能upvote它;-)。感谢 – 2012-02-11 20:26:15

2
| p1 | p2 | p3 | p1 | 

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

以1为最高优先级。

0
 |p1 |p2 |p3 |p1 | 

     0 2 8 11 14 

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