调度算法的评价指标
CPU利用率
指CPU忙碌时间占总时间的比例
Eg:某计算机只支持单道程序,某个作业刚开始需要在CPU上运行5秒,再用打印机打印输出5秒,之后再执行5秒,才能结束。在此过程中CPU利用率、打印机利用率分别是多少?
系统吞吐量
单位时间内完成作业的数量,对于计算机而言,肯定更希望用尽可能少的时间处理完尽可能多的作业,即系统吞吐量越大越好
周转时间
指从作业被提交给系统开始,到作业完成为止的这段时间间隔。由四部分组成:
- 高级调度时间:作业在外存后被队列上等待的时间(在一个作业处理过程中,只会发生一次)
- 低级调度时间(就绪态):进程在就绪队列上等待进程调度的时间。即进程处于就绪态的情况
- 运行态:进程在CPU上执行的时间
- 阻塞态:进程等待I/O设备操作完成的时间
(后三种时间在一个作业的整个处理过程种可能发生多次)
带权周转时间
由上述公式易知带权周转时间必然大于1,带权周转时间与周转时间都是越小越好
对于周转时间相同的两个作业,实际运行时间长的作业在相同时间内被服务的时间更多,带权周转时间更小,用户满意度更高。
对于实际运行时间相同的两个作业,周转时间短的带权周转时间更小,用户满意度更高。
等待时间
指进程/作业处于等待处理机状态的时间之和,等待时间越长,用户满意度越低
对于进程来说,等待时间就是指进程建立后等待被服务的时间之和,在等待I/0完成的期间其实进程也是在被服务的,所以不计入等待时间。
对于作业来说,不仅要考虑建立进程后的等待时间,还要加上作业在外存后备队列中等待的时间。
一个作业总共需要被CPU服务多久,被I/O设备服务多久一般是确定不变的,因此调度算法影响的一般只是任务/进程的等待时间
响应事件
指从用户提交请求到首次产生响应所用的时间