📜  具有动态时间量的轮询调度的优先级

📅  最后修改于: 2021-08-25 10:23:54             🧑  作者: Mango

先决条件–循环调度程序
在此调度算法中,将根据进程的优先级执行进程。流程在到达时具有与之关联的特定优先级。当某个进程到达时,将其优先级与就绪队列中的其他进程进行比较,如果其优先级更高,则它将变为正在运行的进程。在采用非抢占式算法的情况下,即使到达的进程具有更高的优先级,如果运行进程没有完全执行,则不会抢占正在运行的进程,即,一旦调度的进程将一直运行到完成。

为了避免优先级较低的进程出现饥饿,正在运行的进程和就绪队列中的进程的优先级将更改。

考虑一种抢先式优先级调度算法,其中每个进程以优先级零到达优先级的就绪队列,并且优先级以就绪队列(等待时)的α速率和(在运行时)CPU处的ß速率更改。有两种情况:

  • (a)α>ß> 0:
    如果就绪队列中进程的优先级增加率大于CPU的优先级,那么一段时间后,就绪队列中的进程将具有更高的优先级,因此将抢占正在运行的进程,并转移具有更高优先级的下一个进程到CPU。它基本上变成具有动态时间量的循环。
  • (b)ß>α> 0:
    如果就绪队列中进程的优先级增加率小于正在运行进程的优先级,那么正在运行的进程的优先级将始终高于就绪队列中的进程。流程实际上类似于先来先服务(FCFS)调度。随着正在运行的进程的优先级增加,它具有最高的优先级,因此它将继续运行,并且如果α太大,它将执行直到完成。