固定优先级抢占式调度
先决条件 - 操作系统中的 CPU 调度
固定优先级抢占式调度算法多用于实时系统。
在这种调度算法中,处理器确保首先执行最高优先级的任务,而忽略其他要执行的任务。
The process having highest priority is served first.
决策模式:
抢占式:当一个进程到达时,将其优先级与当前进程的优先级进行比较。如果新作业的优先级高于当前进程,则暂停当前进程并启动新进程。
执行:
已排序的 FIFO 队列用于此策略。当新进程被识别时,它会根据它的优先级被放入队列中。因此,具有更高优先级的进程被首先考虑,因为它被放置在更高的位置。
例子:
让我们以下面的例子为例,它有 4 组进程,以及它的到达时间和完成进程所需的时间。还提到了所有进程的优先级。考虑所有时间值以毫秒为单位,优先级值小意味着进程的优先级更高.
Process | Arrival Time(T0) | Time Required for Completion(T`) | Priority |
P0 | 0 | 10 | 5 |
P1 | 1 | 6 | 4 |
P2 | 3 | 2 | 2 |
P3 | 5 | 4 | 0 |
甘特图:
最初只有 P0 存在并允许运行。但是当 P1 来时,它具有更高的优先级。因此,P0 被抢占并允许 P1 运行。重复此过程,直到所有进程完成它们的执行。
统计 :
Process | Arrival Time(T0) | Completion time(T`) | Finish Time(T1) | TurnAround time(TAT=T1-T0) | Waiting time(TAT-T`) |
P0 | 0 | 10 | 22 | 22 | 12 |
P1 | 1 | 6 | 13 | 12 | 6 |
P2 | 3 | 2 | 5 | 2 | 0 |
P3 | 5 | 4 | 9 | 4 | 0 |
平均周转时间:
= (22+12+2+4) / 4
= 40 / 4
= 10 ms
平均等待时间:
= (12+6+0+0) / 4
= 18 / 4
= 4.5 ms
好处:
优先考虑。关键过程可以获得更好的响应。
坏处:
低优先级进程可能会出现饥饿。它可以通过使用称为“老化”的技术来克服。老化会逐渐增加在系统中等待很长时间的进程的优先级。存在上下文切换开销。