操作系统笔记(六)调度

  • CPU 调度
  1. 理论基础:进程执行由CPU execution和I/O wait组成
  2. 本质:从ready queue中选择可以执行的进程,分配给CPU
  3. 发生调度的状态转移:1)preemptive:running to ready, waiting to ready 2)non-preemptive:running to waiting, terminate
  • 调度算法 (指标:average waiting time)
  1. FCFS 按顺序处理,先到先得
  2. Shortest job first(non-preemptive) vs shortest remaining time first(preemptive) :抢占式会优先处理新到达的短进程
  3. 优先级调度:优先调用优先级高的进程。问题:饥饿(低优先级得不到cpu)和priority inversion(高优先级依赖于低优先级)
  4. Round Robin调度:轮流处理。问题:时间片过大就等于FCFS; 时间片过小导致context switch的开销过大。
  5. 多级队列:foreground进程队列,background进程队列。每个队列的优先级不同。
  6. 多级反馈队列调度:进程可以在不同队列间游走。(时间片用完,优先级自动降低,避免饥饿)
  • 调度policy 和 调度mechanism 分离:支持用户自定义。
posted @ 2018-03-12 21:39  niuxu18  阅读(174)  评论(0编辑  收藏  举报