调度算法的指标评价
《操作系统》
cpu利用率
由于早期的CPU造价极其昂贵,因此人们会希望让CPU尽可能多地工作。
CPU利用率:指CPU“忙碌”的时间占总时间的比例。
系统吞吐量
对于计算机来说,希望能用尽可能少的时间处理完尽可能多的作业。
系统吞吐量:单位时间内完成作业的数量
Eg:某计算机系统处理完10道作业,共花费100秒,则系统吞吐量为10/100= 0.1道/秒
周转时间
对于计算机的用户来说,他很关心自己的作业从提交到完成花了多少时间。
周转时间,是指从作业被提交给系统开始,到作业完成为止的这段时间间隔。
它包括四个部分:作业在外存后备队列上等待作业调度(高级调度)的时间、进程在就绪队列上等待进程调度(低级调度)的时间、进程在CPU上执行的时间、进程等待I/o操作完成的时间。后三项在一个作业的整个处理过程中,可能发生多次。
(作业)周转时间=作业完成时间-作业提交时间
对于用户来说,更关心自己的单个作业的周转时间
对于操作系统来说,更关心系统的整体表现,因此更关心所有作业周转时间的平均值。
带权周转时间必然≥1
带权周转时间与周转时间都是越小越好
等待时间
计算机的用户希望自己的作业尽可能少的等待处理机。等待时间,指进程/作业处于等待处理机状态时间之和,等待时间越长,用户满意度越低。
对于进程来说,等待时间就是指进程建立后等待被服务的时间之和,在等待/O完成的期间其实进程也是在被服务的,所以不计入等待时间。
对于作业来说,不仅要考虑建立进程后的等待时间,还要加上作业在外存后备队列中等待的时间。
一个作业总共需要被CPU服务多久,被I/o设备服务多久一般是确定不变的,因此调度算法其实只会影响作业/进程的等待时间。当然,与前面指标类似,也有“平均等待时间”来评价整体性能。
响应时间
对于计算机用户来说,会希望自己的提交的请求(比如通过键盘输入了一个调试命令)尽早地开始被系统服务、回应。
响应时间,指从用户提交请求到首次产生响应所用的时间。