第五十七章:调度要解决什么
复习
- 上下文切换使一个 CPU 能在多个就绪进程之间轮换。
TL;DR
- 调度是在相互冲突的目标间分配 CPU。
- 常见目标包括响应快、完成多、公平和照顾重要任务。
正文
让一个长任务独占 CPU,整体切换最少,却会让点击后毫无反应的交互程序显得很慢。频繁轮换能改善响应,却增加切换开销。优先照顾重要任务有用,却可能让低优先级任务长期等不到机会。
因此没有脱离场景的“最佳调度”。批处理关注吞吐量和周转时间;桌面系统关注响应时间;实时系统还要满足截止期限。评价规则先于具体算法。
从最朴素的排队方法出发,我们可以看见这些取舍如何出现。
思考题
为什么提高某个进程的响应速度,可能降低总体吞吐量?
小结
- 调度目标之间常有取舍。
- 工作负载决定什么指标更重要。
思考题答案(仅供参考)
为它频繁切换或抢占 CPU 会占用管理时间,并延后其他连续工作完成的机会。
协议
本文采用 CC BY-NC-SA 4.0 协议发布。