操作系统复习篇(5)——CPU调度

第5章 CPU调度

  • 介绍CPU调度
  • 各种CPU调度的算法
  • 选择何种CPU算法的评估

CPU调度的介绍

  • 当CPU空闲的时候,需要从就绪队列中选择一个进程来执行,此时有短期调度程序(CPU调度程序)来执行
  • 抢占式与非抢占式调度
  • 分派程序

调度准则

  • CPU使用率(CPU utilization):应保持40%(轻负荷系统)~90%(高负荷系统)
  • 吞吐量(Throughput):一个时间单元内所完成进程的数量
  • 周转时间(Turnaround time):进程提交到进程完成的时间段
  • 等待时间(Waiting time):就绪队列中等到所花费的时间
  • 响应时间(Response time):提交请求到产生第一响应的时间

一般来说,CPU使用率和吞吐量最大化,而周转时间、等待时间和响应时间最小化。

调度算法

先到先服务调度(FCFS)

  • 先请求CPU分配的进程,将会先分配到CPU
  • 非抢占式的
  • 绝对公平,但是平均等待时间过长,调度效率较低

最短作业优先调度算法(SJF)

  • 当CPU空闲时,赋给具有最短CPU区间的进程
  • 抢占or非抢占
  • 优点:减少平均等待时间
  • 缺点:无法预测下一个CPU区间的长度,从而无法有效利用该调度算法

优先级调度算法(priority scheduling algorithm)

  • 按照优先级的顺序一次调度
  • 抢占or非抢占
  • 无穷阻塞或饥饿:优先级低造成始终无法被调用
  • 解决方法:老化,逐渐增加等待时间过长的进程的优先级

轮转法调度(RR)

  • 首先要先定义一个时间片,然后按照FCFS的顺序,依次给每个进程分配一个不大于时间片的时间
  • 平均等待时间会较长

多级队列调度()

多处理器的调度

线程调度

算法评估

猜你喜欢

转载自blog.csdn.net/qq_36312878/article/details/80957262