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设备服务多久一般是确定不变的,因此调度算法其实只会影响作业/进程的等待时间。当然,与前面指标类似,也有"平均等待时间"来评价整体性能。

(五)响应时间

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

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

总结

相关推荐
别说我什么都不会4 小时前
当OpenHarmony遇上OpenEuler
操作系统·嵌入式·harmonyos
一念杂记7 小时前
U盘DIY,三步打造你的"行走操作系统" 即插即用秒变专属电脑
操作系统
刘大猫2620 小时前
二、搭建MyBatis采用xml方式,验证CRUD(增删改查操作)
操作系统·自动化运维·设计
别说我什么都不会20 小时前
使用Multipass编译OpenHarmony工程
操作系统·嵌入式·harmonyos
别说我什么都不会1 天前
鸿蒙轻内核M核源码分析系列二一 05 文件系统FatFS
操作系统·嵌入式·harmonyos
蓝天下小溪旁戴着耳机去放羊1 天前
详解数据传输——零拷贝、direct IO
性能优化·操作系统
银色火焰战车1 天前
基于编译器特性浅析C++程序性能优化
开发语言·c++·重构·系统架构·操作系统
别说我什么都不会2 天前
鸿蒙轻内核M核源码分析系列二一 03 文件系统LittleFS
操作系统·嵌入式·harmonyos
charlie1145141912 天前
从0开始的操作系统手搓教程24——完成我们的键盘驱动子系统
驱动开发·操作系统·键盘·手搓教程