Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

第五十七章:调度要解决什么

复习

  • 上下文切换使一个 CPU 能在多个就绪进程之间轮换。

TL;DR

  • 调度是在相互冲突的目标间分配 CPU。
  • 常见目标包括响应快、完成多、公平和照顾重要任务。

正文

  让一个长任务独占 CPU,整体切换最少,却会让点击后毫无反应的交互程序显得很慢。频繁轮换能改善响应,却增加切换开销。优先照顾重要任务有用,却可能让低优先级任务长期等不到机会。

  因此没有脱离场景的“最佳调度”。批处理关注吞吐量和周转时间;桌面系统关注响应时间;实时系统还要满足截止期限。评价规则先于具体算法。

  从最朴素的排队方法出发,我们可以看见这些取舍如何出现。

思考题

为什么提高某个进程的响应速度,可能降低总体吞吐量?

小结

  • 调度目标之间常有取舍。
  • 工作负载决定什么指标更重要。

思考题答案(仅供参考)

  为它频繁切换或抢占 CPU 会占用管理时间,并延后其他连续工作完成的机会。

协议

本文采用 CC BY-NC-SA 4.0 协议发布。