2.2_4 调度算法的评价指标

文章目录

2.2_4 调度算法的评价指标

注:要理解,并且会计算。

(一)CPU利用率

由于早期的CPU造价极其昂贵,因此人们会希望让CPU尽可能多地工作

CPU利用率 :指CPU"忙碌"的时间占总时间的比例。
利用率 = 忙碌的时间 总时间 利用率 = \frac{忙碌的时间}{总时间} 利用率=总时间忙碌的时间

注,此处虽然说的是"CPU利用率",但如果让你算其他设备(如:打印机设备)的利用率,也是一模一样的道理。

某计算机只支持单道程序,某个作业刚开始需要在CPU上运行5秒,再用打印机打印输出5秒,之后再执行5秒,才能结束。在此过程中,CPU利用率、打印机利用率分别是多少?


C P U 利用率 = 5 + 5 5 + 5 + 5 = 66.66 % 打印机利用率 = 5 5 + 5 + 5 = 33.33 % CPU利用率=\frac{5+5}{5+5+5}=66.66\% \\ 打印机利用率=\frac{5}{5+5+5}=33.33\% CPU利用率=5+5+55+5=66.66%打印机利用率=5+5+55=33.33%

注:通常会考察多道程序并发执行的情况,可以用"甘特图"来辅助计算。(此处不展开,自行做题感受即可)

(二)系统吞吐量

对于计算机来说,希望能用尽可能少的时间处理完尽可能多的作业。

系统吞吐量 :单位时间内完成作业的数量。
系统吞吐量 = 总共完成了多少道作业 总共花了多少时间 系统吞吐量=\frac{总共完成了多少道作业}{总共花了多少时间} 系统吞吐量=总共花了多少时间总共完成了多少道作业

某计算机系统处理完10道作业,共花费100秒,则系统吞吐量为?


10 / 100 = 0.1 道 / 秒 10/100=0.1道/秒 10/100=0.1道/秒

即:平均每秒可以完成0.1道作业,也即"单位时间内完成作业的数量"。

(三)周转时间

对于计算机的用户来说,他很关心自己的作业从提交到完成花了多少时间。

周转时间 ,是指从作业被提交给系统开始 ,到作业完成为止的这段时间间隔。

它包括四个部分:作业在外存后备队列上等待作业调度(高级调度)的实践、进程在就绪队列上等待进程调度(低级调度)的时间、进程在CPU上执行的时间、进程等待I/O操作完成的时间。

注:后三项在一个作业的整个处理过程中,可能发生多次。

( 作业 ) 周转时间 = 作业完成时间 − 作业提交时间 平均周转时间 = 各作业周转时间之和 作业数 (作业)周转时间=作业完成时间-作业提交时间\\ 平均周转时间=\frac{各作业周转时间之和}{作业数} (作业)周转时间=作业完成时间−作业提交时间平均周转时间=作业数各作业周转时间之和

注:

1.对于用户来说,更关心自己的单个作业的周转时间。(作业周转时间)

2.对于操作系统来说,更关心系统的整体表现,因此更关心所有作业周转时间的平均值。(平均周转时间)

思考

有的作业运行时间短,有的作业运行时间长,因此在周转时间相同的情况下,运行时间不同的作业,给用户的感觉肯定是不一样的。

比如,你只需要使用1分钟,但是你等待了10分钟,那么你的感受就会很糟糕。

但如果你需要使用10分钟,但你等待了1分钟,那么你的感觉就会很好。

但是,这两个例子的"周转时间"都是11分钟。

这就是说,在周转时间相同的情况下,作业运行时间的长短不同所导致的对于用户感受上的区别。

基于此,人们又提出了"带权周转时间"。
带权周转时间 = 作业周转时间 作业实际运行时间 = 作业完成时间 − 作业提交时间 作业实际运行时间 平均带权周转时间 = 各作业带权周转时间之和 作业数 带权周转时间=\frac{作业周转时间}{作业实际运行时间}=\frac{作业完成时间-作业提交时间}{作业实际运行时间}\\ 平均带权周转时间=\frac{各作业带权周转时间之和}{作业数} 带权周转时间=作业实际运行时间作业周转时间=作业实际运行时间作业完成时间−作业提交时间平均带权周转时间=作业数各作业带权周转时间之和

显然,对于周转时间相同的两个作业,实际运行时间长的作业在相同时间内被服务的时间更多,带权周转时间更小,用户满意度更高。

而对于实际运行时间相同的两个作业,周转时间短的带权周转时间更小,用户满意度更高。

1.带权周转时间必然 ≥ 1 ≥1 ≥1。

2.带权周转时间与周转时间都是越小越好。

(四)等待时间

计算机的用户希望自己的作业尽可能少的等待处理机。

等待时间 ,指进程/作业处于等待处理机状态时间之和,等待时间越长,用户满意度越低。

对于进程 来说,等待时间就是指进程建立后等待被服务的时间之和,在等待I/O完成的期间其实进程也是在被服务的,所以不计入等待时间。

对于作业 来说,不仅要考虑建立进程后的等待时间,还要加上作业在外存后备队列中等待的时间

一个作业总共需要被CPU服务多久,被I/O设备服务多久一般是确定不变的,因此调度算法其实只会影响作业/进程的等待时间。当然,与前面指标类似,也有"平均等待时间"来评价整体性能。

(五)响应时间

对于计算机用户来说,会希望自己的提交的请求(比如通过键盘输入了一个调试命令)尽早地开始被系统服务、回应。

响应时间 ,指从用户提交请求首次产生响应所用的时间。

总结

相关推荐
不爱学习的YY酱17 小时前
【操作系统不挂科】<CPU调度(13)>选择题(带答案与解析)
java·linux·前端·算法·操作系统
钰爱&1 天前
【操作系统】Linux之网络编程(UDP)(头歌作业)
linux·操作系统
清酒伴风(面试准备中......)1 天前
操作系统基础——针对实习面试
笔记·面试·职场和发展·操作系统·实习
架构师Wu老七5 天前
【软考】系统架构设计师-计算机系统基础(2):操作系统
系统架构·操作系统·软考·系统架构设计师
不爱学习的YY酱6 天前
【操作系统不挂科】<线程概念(6)>选择题&简答题(带答案与解析)
linux·开发语言·操作系统
修修修也9 天前
【Linux】进程间通信
linux·运维·服务器·操作系统·进程通信
Pandaconda11 天前
【操作系统】每日 3 题(十八)
linux·服务器·开发语言·数据结构·笔记·后端·操作系统
vincent_woo11 天前
再学安卓 - 系统环境安装
操作系统
Raymond运维11 天前
第一章 Linux安装 -- 安装Debian 12操作系统(四)
linux·运维·服务器·操作系统·debian
小蜗的房子11 天前
一篇文章让你了解Linux中的用户和组权限
linux·运维·服务器·后端·学习·操作系统·基础