目录:
定义-优先级调度是什么意思?
优先级调度是一种基于优先级调度进程的方法。 在这种方法中,调度程序根据优先级选择要工作的任务,这与其他类型的调度(例如,简单循环)不同。
优先级调度涉及对每个进程的优先级分配,并且优先级较高的进程首先执行,而优先级相同的任务则以先到先得(FCFS)或轮询的方式执行。 通用优先级调度算法的一个示例是最短作业优先(SJF)算法。
Techopedia解释了优先级调度
优先级可以是动态的,也可以是静态的。 静态优先级是在创建过程中分配的,而动态优先级是根据系统中进程的行为分配的。 为了说明这一点,调度程序可能偏向于输入/输出(I / O)密集型任务,这使昂贵的请求能够尽快发出。
可以在内部或外部定义优先级。 内部定义的优先级利用一些可衡量的数量来计算给定过程的优先级。 相比之下,外部优先级是使用操作系统(OS)以外的标准定义的,可以包括过程的重要性,类型以及计算机使用的资源总和,用户偏好,商业和其他因素(例如政治)等
优先级调度可以是以下之一:
- 抢先式:如果新到达的进程的优先级大于现有进程的优先级,则这种调度可能会抢占中央处理单元(CPU)。
- 非抢占式:这种类型的调度算法只是将新进程放在就绪队列的顶部。
不确定阻塞(也称为饥饿)是与优先级调度算法有关的主要问题之一。 这是一种状态,可以随时执行进程,但要分配给CPU却要等待很长时间。
优先级调度算法通常可能会使低优先级的进程无限期地等待。 例如,在负载很重的系统中,如果有许多较高优先级的进程,则低优先级的进程可能永远无法获得CPU的执行权。
老化的一种补救方法是老化,这是一种用于逐渐增加那些在系统中等待较长时间的进程的优先级的技术。