🏷️ 知识点:时间片轮转
下列各种调度算法中,属于基于时间片的调度算法的是( )。
A. I 和 II B. I、II 和 IV C. I、II 和 IV D. I、II 和 III
[tag_link]
正确答案:A
基于时间片的调度算法是指在调度过程中使用固定或可变的时间片来分配CPU时间,进程在时间片用完时会被抢占。
下面对每个算法进行分析:
时间片轮转法是典型的基于时间片的调度算法,它为每个进程分配一个固定的时间片,时间片结束后进程被抢占并放回就绪队列末尾。 > 多级反馈队列调度算法也属于基于时间片的算法,它使用多个队列,每个队列可能具有不同的时间片大小,进程在队列间移动时依据时间片进行调度。 >
抢占式调度算法是一个广义类别,指允许在进程运行期间将其中断的调度方式,但抢占不一定基于时间片,可能基于优先级或其他条件,因此它不特指基于时间片的算法。 > FCFS(先来先服务)调度算法是非抢占式的,进程一旦开始运行直到完成或阻塞,不使用时间片。 > 高响应比优先调度算法同样是非抢占式的,基于计算响应比来选择进程,不涉及时间片。 >
因此,属于基于时间片的调度算法的只有Ⅰ和Ⅱ,对应选项A。 >
为实现人机交互作用应采用的调度算法是( )。
A. 短作业优先调度 B. 时间片轮转法 C. 基于优先权的剥夺调度算法 D. 高响应比优先调度
[tag_link]
正确答案:B
人机交互作用通常指交互式系统,如分时系统,其核心需求是快速响应时间以保证用户体验流畅。 时间片轮转法通过为每个进程分配固定的时间片,并在时间片用完后轮转调度��确保了所有进程都能公平、定期地获得 CPU 时间,从而提供可预测的低延迟响应,非常适合交互式环境。 其他算法则不太适用:短作业优先调度偏向短作业,可能导致长作业饿死,响应时间不稳定; 基于优先权的剥夺调度算法更适用于实时系统,可能牺牲公平性; 高响应比优先调度主要用于批处理系统,无法保证交互所需的即时响应。 因此,时间片轮转法是最佳选择。
下列内核的数据结构或程序中,分时系统实现时间片轮转调度需要使用的是( )。
I. 进程控制块
II. 时钟中断处理程序
III. 进程就绪队列
IV. 进程阻塞队列
A. 仅 II、III B. 仅 I、IV C. 仅 I、II、III D. 仅 I、II、IV
[tag_link]
正确答案:C
在分时系统的 时间片轮转 中,当系统检测到时钟中断时,会引出时钟中断处理程序调度程序从就绪队列中选择一个进程为其分配时间片,并修改该进程的进程控制块中的进程状态等信息,同时将时间片用完的进程放入就绪队列或让其结束运行。I、II、Ⅲ 正确。阻塞队列中的进程只有被唤醒进入就绪队列后,才能参与调度,所以该调度过程不使用阻塞队列。
下列有关基于时间片的进程调度的叙述中,错误的是( )。
A. 时间片越短,进程切换的次数越多,系统开销也越大 B. 当前进程的时间片用完后,该进程状态由执行态变为阻塞态 C. 时钟中断发生后,系统会修改当前进程在时间片内的剩余时间 D. 影响时间片大小的主要因素包括响应时间、系统开销和进程数量等
[tag_link]
正确答案:B
进程切换带来系统开销,切换次数越多,开销越大,A 正确。当前进程的时间片用完后,它的状态由执行态变为就绪态,B 错误。时钟中断是系统中特定的周期性时钟节拍。操作系统通过它来确定时间间隔,实现时间的延时和任务的超时,C 正确。现代操作系统为了保证性能最优,通常根据响应时间、系统开销、进程数量、进程运行时间、进程切换开销等因素确定 时间片大小,D 正确。
假设某系统使用时间片轮转调度算法进行 CPU 调度,时间片大小为 5 ms,系统共有 10 个进程,初始时均处于就绪队列,执行结束前仅处于执行态或就绪态。若队尾的进程 P 所需 CPU 时间最短,时间为 25 ms。在不考虑系统开销的情况下,则进程 P 的周转时间为( )。
A. 200ms B. 205ms C. 250ms D. 295ms
[tag_link]
正确答案:C
由于使用的是轮转调度算法,进程即在每次执行一个时间片后,都需要重新回到就绪队列的末尾等待下一次的时间片。所以,实际上,进程 P 的每一个时间片之间都有一个完整的轮转周期的等待时间:10×5ms=50ms,进程 P 需要执行 25/5 个时间片,所有中间有 4 个完整的轮转周期再加上 P 的周转时间为,总共需要 5 个轮转周期:5×50ms=250s。