下列选项中,降低进程优先级的合理时机是( )。

admin2014-12-08  29

问题 下列选项中,降低进程优先级的合理时机是(          )。

选项 A、进程时间片用完
B、进程刚完成I/O,进入就绪队列
C、进程长期处于就绪队列
D、进程从就绪状态转换为运行状态

答案A

解析 进程时间片用完可以降低其优先级,完成I/O的进程应该提升其优先级,处于就绪队列等待调度的进程一般不会改变其优先级。
    这类题目一般在采用多级反馈队列调度算法的系统中应用。其具体算法为:设置多个就绪队列,并为各个队列赋予不同的优先级。第一个队列的优先级最高,第二队次之,其余队列优先级依次降低。赋予各个队列中进程运行时间片的大小也各不相同。在优先级越高的队列中,每个进程的运行时间片就越小。当一个新进程进入内存后,首先将它放入第一队列的末尾,也就是优先级最高,按先来先服务的原则排队等待调度。当轮到该进程运行时,如能在该时间片内完成,便可准备撤离系统。如果它在一个时间片结束时尚未完成,调度程序便将该进程转入第二队列的末尾,此时其优先级降低了一级,再同样地按先来先服务原则等待调度运行。如果它在第二队列中运行一个时间片后仍未完成,再以同样方法,将它转入第三队列。它的优先级又降低了一级。如此下去,当一个长作业从第一队列降到最后一个队列后,在最后一个队列中,使用时间片轮转方式运行。此时优先级也就再也无法降低了。仅当第一队列空闲时,调度程序才调度第二队列中的进程运行。仅当第一至N队列均为空时,才会调度第N+1队列中的进程运行。如果处理机正在第J队列中为某进程服务时,又有新进程进入优先级较高的队列,那么要考虑是否是可抢先式调度算法,若是,则新进程将抢占正在运行进程的处理机,而由调度程序把正在运行的进程放回到第J队列,将处理机分配给新进程。若不是,则需要等待直到当前的进程完成它的时间片再调度,此时会产生优先级翻转的情形,亦即在处理机上运行的进程其优先级低于就绪队列中的某个进程。这种情形非常糟糕,极易引起死锁。一般应该避免。
转载请注明原文地址:https://kaotiyun.com/show/HZxi777K
0

最新回复(0)