调度算法的评价指标
知识总览图
CPU利用率
系统吞吐量
周转时间
一个有味道的例子:排队上厕所。有的人A上厕所需要1分钟,有的人B上厕所需要10分钟,如果你要让那个需要1分钟的人,等在那个需要10分钟的人后面,这样的安排给用户的体验会很差;如果你要让那个需要10分钟的人,等在那个需要1分钟的人后面,这样的安排给用户的体验会很好。下面的带权周转时间就是按照上面的思想设计的。所以带权周转时间其实你可以理解成是,如何给周转时间不同的作业合理的排序,从而可以给用户更佳的体验。
比如A和B它们两个加起来用11分钟,所以它们俩的作业周转的时间都是11,而A作业实际运行的时间是1,所以A的带权周转时间=11
而B作业实际运行的时间是10,所以B的带权周转时间是11/10
因此带权周转时间反应的是作业(或进程)所用时间的长短问题,带权周转时间越大,作业(或进程)所用时间越短;带权周转时间越小,作业(或进程)所用时间越长。所以作业排序的时候会把带权周转时间大的作业排在前面。
等待时间
计算机的用户希望自己的作业尽可能少的等待处理机。
等待时间,指进程/作业处于等待处理机状态时间之和,等待时间越长,用户满意度越低。
对于进程来说,等待时间就是指进程建立后等待被服务的时间之和,在等待I/O完成的期间其实进程也是在被服务的,所以不计入等待时间。
一个作业总共需要被CPU服务多久,被I/O设备服务多久一般是确定不变的,因此调度算法其实只会影响作业/进程的等待时间。当然,与前面指标类似,也有“平均等待时间”来评价整体性能。
响应时间
对于计算机用户来说,会希望自己的提交的请求(比如通过键盘输入了一个调试命令)今早地开始被系统服务、回应。
响应时间,指从用户提交请求到首次产生响应所用的时间。