王道操作系统笔记,视频链接:2.2.3 调度的目标(调度算法的评价指标)

知识总览

调度算法的评价指标:(理解为什么这么设计指标,以及如何计算指标)

  1. CPU利用率
  2. 系统吞吐量
  3. 周转时间
    • 周转时间、平均周转时间
    • 带权周转时间、平均带权周转时间
  4. 等待时间
  5. 响应时间

CPU利用率

  1. 由于早期的CPU造价及其昂贵,因此人们会希望让CPU尽可能多地工作
  2. CPU利用率:指CPU“忙碌”的时间占总时间的比例。
    利用率 = 忙碌的时间 总时间 利用率 = \frac{忙碌的时间}{总时间} 利用率=总时间忙碌的时间
  3. Eg:某计算机只支持单道程序,某个作业刚开始需要在CPU上运行5秒,再用打印机输出5秒,之后再执行5秒,才能结束。在此过程中,CPU利用率、打印机利用率分别是多少?
    • CPU利用率= 5 + 5 5 + 5 + 5 \frac{5+5}{5+5+5} 5+5+55+5=66.66%
    • 打印机利用率= 5 15 \frac{5}{15} 155=33.33%
    • 注意:通常会考察多道程序并发执行的情况,可以用“甘特图”来辅助计算。

系统吞吐量

  1. 对于计算机来说,希望能用尽可能少的时间处理完尽可能多的作业
  2. 系统吞吐量:单位时间内完成作业的数量
    系统吞吐量 = 总共完成了多少道作业 总共花了多少时间 系统吞吐量=\frac{总共完成了多少道作业}{总共花了多少时间} 系统吞吐量=总共花了多少时间总共完成了多少道作业
  3. Eg:某计算机系统处理完10道作业,共花费100秒,则系统吞吐量为?
    • 系统吞吐量= 10 100 \frac{10}{100} 10010=0.1道/秒

周转时间

  1. 对于计算机的用户来说,他很关心自己的作业从提交到完成花了多少时间。
  2. 周转时间,是指从作业被提交给系统开始,到作业完成为止的这段时间间隔。
  3. 它包括四个部分:
    • ①作业在外存后备队列上等待作业调度(高级调度)的时间
    • ②进程在就绪队列上等待进程调度(低级调度)的时间(进程处于就绪态的时间)
    • ③进程在CPU上执行的时间(进程处于运行态的时间)
    • ④进程等待I/O操作完成的时间(进程处于阻塞态的时间)
    • PS:后三项在一个作业的整个处理过程中,可能发生多次。(第一项只有一次作业调度)
    • 作业周转时间 = 作业完成时间 - 作业提交时间
      PS:对于用户来说,更关心自己的单个作业的周转时间
    • 平均周转时间 = 各作业周转时间之和 作业数 \frac{各作业周转时间之和}{作业数} 作业数各作业周转时间之和
      PS:对于操作系统来说,更关心系统的整体表现,因此更关心所有作业周转时间的平均值。
    • 思考:有的作业运行时间短,有的作业运行时间长,因此在周转时间相同的情况下,运行时间不同的作业,给用户的感觉肯定是不一样的。
    • 比如:自助餐排队就餐,排队五分钟,就餐半小时和排队半小时,就餐五分钟的体验绝对是不一样的。
    • 相同周转时间的情况下,作业实际运行时间越长,用户体验越好
  4. 带权周转时间 = 作业周转时间 作业实际运行的时间 \frac{作业周转时间}{作业实际运行的时间} 作业实际运行的时间作业周转时间 = 作业完成时间 − 作业提交时间 作业实际运行的时间 \frac{作业完成时间-作业提交时间}{作业实际运行的时间} 作业实际运行的时间作业完成时间作业提交时间
    平均带权周转时间 = 各作业带权周转时间之和 作业数 \frac{各作业带权周转时间之和}{作业数} 作业数各作业带权周转时间之和
    • 带权周转时间必然 ≥ 1
    • 带权周转时间与周转时间都是越小越好
    • 对于周转时间相同的两个作业,实际运行时间长的作业在相同时间内被服务的时间更多,带权周转时间更小,用户满意度更高
    • 对于实际运行时间相同的两个作业,周转时间短的带权周转时间更小,用户满意度更高

等待时间

  1. 计算机的用户希望自己的作业尽可能少的等待处理机
  2. 等待时间,指进程/作业处于等待处理机状态时间之和,等待时间越长,用户满意度越低。
    • 作业在后备队列等待被服务(调度)
    • 作业调入内存后,建立对应的进程。这个进程会被CPU服务、会被I/O设备服务,当然也会有等待被服务的时候。
    • 对于进程来说,等待时间就是指进程建立后等待被服务的时间之和,在等待I/O完成的期间其实进程也是在被服务的,所以不计入等待时间。
    • 对于作业来说,不仅要考虑建立进程后的等待时间,还要加上作业在外存后备队列中等待的时间
      PS:一个作业总共需要被CPU服务多久,被I/O设备服务多久一般是确定不变的,因此调度算法其实只会影响作业/进程的等待时间,当然,与前面指标类似,也有“平均等待时间”来评价整体性能。

响应时间

  1. 对于计算机用户来说,会希望自己的提交的请求(比如通过键盘输入了一个调试命令)尽早地开始被系统服务、回应。
  2. 响应时间,指从用户提交请求首次产生响应所用的时间。

知识回顾与重要考点

知识回顾与重要考点

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐