题12

题目

支持多道程序设计的操作系统在运行过程中, 不断地选择新进程运行来实现 CPU 的共享, 但其中 ( ) 不是引起操作系统选择新进程的直接原因。
A. 运行进程的时间片用完
B. 运行进程出错
C. 运行进程要等待某一事件发生
D. 有新进程被创建进入就绪态

分析

进入就绪态只是说明,这个进程需要被调度,同样的,还有别的进程也需要被调度,这不是cpu会选择这个任何一个需要被调度的进程的理由

D
操作系统选择新进程的直接原因是当前运行的进程不能继续运行。
当运行的进程由于时间片用完、运行结束、出错、需要等待事件的发生、自我阻塞等, 均可以激活调度程序进行重新调度, 选择就绪队列的队首进程投入运行。
新进程加入就绪队列不是引起调度的直接原因, 当 CPU 正在运行其他进程时, 该进程仍需等待。
即使是在采用高优先级调度算法的系统中, 一个最高优先级的进程进入就绪队列, 也需要考虑是否允许抢占, 当不允许抢占时, 仍需等待。