2.2_3_调度算法的评价指标
CPU利用率
CPU利用率:指CPU “忙碌”的时间占总时间的比例。
利用率 = 忙碌的时间/总时间
Eg:某计算机只支持单道程序,某个作业刚开始需要在CPU上运行5秒,再用打印机打印输出5秒,之后再执行5秒,才能结束。在此过程中,CPU利用率、打印机利用率分别是多少?
CPU利用率 = (5+5)/(5+5+5) = 66.66%
打印机利用率 = 5/15 = 33.33%
系统吞吐率
系统吞吐量:单位时间内完成作业的数量
系统吞吐量= 总共完成了多少道作业/总共花了多少时间
Eg:某计算机系统处理完10道作业,共花费100秒,则系统吞吐量为?
10/100 = 0.1 道/秒
周转时间
对于计算机的用户来说,他很关心自己的作业从提交到完成花了多少时间。周转时间,是指从作业被提交给系统开始,到作业完成为止的这段时间间隔。
它包括四个部分:作业在外存后备队列上等待作业调度(高级调度)的时间、进程在就绪队列上等待进程调度(低级调度)的时间、进程在CPU上执行的时间、进程等待I/O操作完成的时间。后三项在一个作业的整个处理过程中,可能发生多次。
(作业)周转时间 = 作业完成时间 - 作业提交时间
平均周转时间 = 各作业周转之和 / 作业和
带权周转时间 = 作业周转时间 / 作业实际运行时间 = (作业完成时间 - 作业提交时间) / 作业实际运行时间
平均带权周转时间 = 各作业带权周转时间之和 / 作业数
等待时间
等待时间,指进程/作业处于等待处理机状态时间之和,等待时间越长,用户满意度越低。
对于进程来说,等待时间就是指进程建立后等待被服务的时间之和,在等待I/O完成的期间其实进
程也是在被服务的,所以不计入等待时间。
对于作业来说,不仅要考虑建立进程后的等待时间,还要加上作业在外存后备队列中等待的时间。
一个作业总共需要被CPU服务多久,被I/O设备服务多久一般是确定不变的,因此调度算法其实只会
影响作业/进程的等待时间。当然,与前面指标类似,也有“平均等待时间”来评价整体性能。
响应时间
对于计算机用户来说,会希望自己的提交的请求(比如通过键盘输入了一个调试命令)尽早地开始被系
统服务、回应。
响应时间,指从用户提交请求到首次产生响应所用的时间。
调度算法
先来先服务
短作业优先
高响应比优先
2.2_5_调度算法:时间片轮转、优先级、多级反馈队列
时间片轮转调度算法
- 如果时间片太大,使得每个进程都可以在一个时间片内完成,则时间片轮调度算法退化为先来先服务调度算法,并且会增大进程响应时间,因此时间片不能太大。
- 另一方面,进程调度、切换是有时间代价的(保存、恢复运行环境),因此如果时间片太小,会导致进程切换过于频繁,系统会花大量时间来处理进程切换,从而导致实际用于执行的时间比例减少。可见时间片也不能太小。