问题
单项选择题
假设系统中所有进程是同时到达,则使进程平均周转时间最短的是( )调度算法。
A.先来先服务
B.短进程优先
C.时间片轮转
D.优先级
答案
参考答案:B
解析:短进程优先调度算法具有最短的平均周转时间。平均周转时间=各进程周转时间之和/进程数。因为每个进程的执行时间都是固定的,所以变化的是等待时间,只有短进程优先算法能最小化等待时间。
下面给出几种常见的进程调度算法特点的总结,读者要在理解的基础上掌握。
先来先服务 | 短作业优先 | 高响应比优先 | 时间片轮转 | 多级反馈队列 | |
能否是可抢占 | 否 | 能 | 能 | 能 | 队列内算法不一定 |
能否是不可抢占 | 能 | 能 | 能 | 否 | 队列内算法不一定 |
优点 | 公平,实现简单 | 平均等待时间最少,效率最高 | 兼顾长短作业 | 兼顾长短作业 | 兼顾氏短作业,有较好的响应时间,可行性强 |
缺点 | 不利于短作业 | 长作业会饥饿,估计时间不易确定 | 计算响应比的开销大 | 平均等待时间较氏,上下文切换浪费时间 | 无 |
适用于 | 无 | 作业调度,批处理系统 | 无 | 分时系统 | 相当通用 |
决策模式 | 非抢占 | 非抢占 | 非抢占 | 抢占 | 抢占 |