问题
单项选择题
采用"不可剥夺优先数"调度算法,进程执行的次序是A)P2、P1、P5、P3、P4B)P2、P3、P1、P5、P4 C)P4、P1、P3、P5、P2D)P4、P3、P1、P5、P2
答案
参考答案:B
解析:【解析】进程调度总是让具有最高优先数的进程先使用处理器。如果进程具有相同的优先数,则这些具有相同优先数的进程再按先来先服务的次序分配处理器。 一个高优先数的进程占用了处理器后,系统可以用两种方式对待它:第一种方式是“非抢占式”的,一旦有某个高优先数的进程占用了处理器,就一直让它运行下去,直到该进程由于自身的原因主动让出处理器或进程执行结束而让出处理器,此时,进程调度重新再按优先数选择另一个占用处理器的进程。第二种方式是“可抢占”的,这种方式是严格保证任何时刻,总是让具有最高优先数的进程在处理器上运行。也就是说,当某一进程在处理器上运行时,一旦有另一个更高优先数的进程就绪,进程调度就要剥夺正在处理器上运行的进程使用处理器的权力,抢回分配给它的处理器,而把处理器让具有更高优先数的进程使用。这种抢占式的优先数调度算法在实时系统中很有用。 通过分析以上调度顺序可知,选项B)是正确的。