高优先权优先调度算法指的是一种在紧迫型
作业进入
系统后能得到优先处理的计算机算法。
基本思想
关键要领
优先级调度的含义
(1)当该算法用于作业调度时,系统从后备作业队列中选择若干个优先级最高的,且系统能满足资源要求的作业装入内存运行。
(2)当该算法用于进程调度时,将把处理机分配给就绪进程队列中优先级最高的进程。
调度算法的两种方式
优先级调度算法细分成如下两种方式:
非抢占式优先级算法
在这种调度方式下,系统一旦把处理机分配给就绪队列中优先级最高的进程后,该进程就能一直执行下去,直至完成;或因等待某事件的发生使该进程不得不放弃处理机时,
系统才能将处理机分配给另一个优先级高的就绪进程。
抢占式优先级调度算法
在这种调度方式下,进程调度程序把处理机分配给当时优先级最高的就绪进程,使之执行。一旦出现了另一个优先级更高的就绪进程时,进程调度程序就停止正在执行的进程,将处理机分配给新出现的优先级最高的就绪进程。
3.优先级的类型
进程的优先级可采用静态优先级和动态优先级两种,优先级可由用户自定或由系统确定。
静态优先级
(1)含义
静态优先级是在创建进程时确定进程的优先级,并且规定它在进程的整个运行期间保持不变。
(2)确定优先级的依据
确定优先级的依据通常有下面几个方面:
①进程的类型。通常系统进程优先级高于一般用户进程的优先级;交互型的用户进程的优先级高于批处理作业所对应的进程的优先级。
②进程对资源的需求。例如,进程的估计执行时间及内存需求量少的进程,应赋于较高的优先级,这有利缩小作业的平均周转时间。
③根据用户的要求。用户可以根据自己作业的紧迫程度来指定一个合适的优先级。
(3)优缺点
静态优先级法的优点是
①简单易行 ②系统开销小。
缺点是
①不太灵活,很可能出现低优先级的作业(进程),长期得不到调度而等待的情况。
②静态优先级法仅适用于实时要求不太高的系统。
动态优先级
(1)含义
动态优先级是在创建进程时赋予该进程一个初始优先级,然后其优先级随着进程的执行情况的变化而改变,以便获得更好的调度性能。
(2)优缺点
动态优先级优点是使相应的优先级调度算法比较灵活、科学,可防止有些进程一直得不到调度,也可防止有些进程长期垄断处理机。动态优先级缺点是需要花费相当多的执行程序时间,因而花费的系统开销比较大。
适用场合
非抢占式优先级算法
主要用于一般的批处理系统、分时系统,也常用于某些实时性要求不太高的实时系统。
抢占式优先级算法
常用于实时要求比较严格的实时系统中,以及对实时性能要求高的分时系统。