文章目录
- 第二章 进程管理
- 调度算法的评价指标
- (一)CPU利用率
- (二)系统吞吐量
- (三)周转时间
- (四)等待时间
- (五)响应时间
- 小结
第二章 进程管理
调度算法的评价指标
- CPU利用率
- 系统吞吐量
- 周转时间
- 周转时间、平均周转时间
- 带权周转时间、平均带权周转时间
- 等待时间
- 响应时间
注意理解各个指标为什么这样设计;并且会计算。
(一)CPU利用率
早期的计算机,其造价是非常昂贵的,特别是CPU占了造价的很大一部分。现代的计算机CPU其实也不便宜。
因此人们会希望让CPU尽可能多地工作。
CPU利用率:指CPU“忙碌”的时间占总时间的比例。
利用率
=
忙碌的时间
总时间
利用率 = \frac{忙碌的时间}{总时间}
利用率=总时间忙碌的时间
有些题还会让计算某种设备的利用率(不一定是CPU利用率)。
例如:某计算机只支持单道程序,某个作业刚开始需要在CPU上运行5秒,再用打印机打印输出5秒,之后再执行5秒,才能结束。在此过程中,CPU利用率、打印机利用率分别是多少?
答:CPU利用率 = (5+5) / (5+5+5) = 66.66%;打印机利用率 = 5 / 15 = 33.33%。
通常会考察多道程序并发执行的情况,可以用“甘特图”来辅助计算。
(二)系统吞吐量
对于计算机来说,它肯定希望用尽可能少的时间处理完尽可能多的作业。就设计了一个系统吞吐量的指标。
系统吞吐量:单位时间内完成作业的数量。
系统吞吐量
=
总共完成了多少道作业
总共花了多少时间
系统吞吐量 = \frac{总共完成了多少道作业}{总共花了多少时间}
系统吞吐量=总共花了多少时间总共完成了多少道作业
例如:某计算机系统处理完10道作业,共花费100秒,则系统吞吐量为?
答:10 / 100 = 0.1 道/秒
(三)周转时间
对于计算机的用户来说,他很关心自己的作业从提交到完成花了多少时间。
周转时间,是指从作业被提交给系统开始,到作业完成为止的这段时间间隔。
它包括四个部分:
作业在外存后备队列上等待作业调度(高级调度)的时间、进程在就绪队列上等待进程调度(低级调度)的时间(即处于就绪态)、进程在CPU上执行的时间(即处于运行态)、进程等待I/O操作完成的时间(即阻塞态)。后三项在一个作业的整个处理过程中,可能发生多次。
(作业)周转时间
=
作业完成时间
−
作业提交时间
(作业)周转时间 = 作业完成时间 - 作业提交时间
(作业)周转时间=作业完成时间−作业提交时间
对于用户来说,更关心自己的单个作业的周转时间。
平均周转时间 = 各作业周转时间之和 作业数 平均周转时间 = \frac{各作业周转时间之和}{作业数} 平均周转时间=作业数各作业周转时间之和
对于操作系统来说,更关心系统的整体表现,因此更关心所有作业周转时间的平均值。
思考:有的作业运行时间短,有的作业运行时间长,因此在周转时间相同的情况下,运行时间不同的作业,给用户的感觉肯定是不一样的。
周转时间相同,若运行时间越长,则用户体验越好。例如A:等待10分钟,运行1分钟,周转时间为11分钟;B:等待1分钟,运行10分钟,周转时间为11分钟。
因此,人们又提出另外一个指标:带权周转时间。
带权周转时间
=
作业周转时间
作业实际运行的时间
=
作业完成时间
−
作业提交时间
作业实际运行的时间
带权周转时间 = \frac{作业周转时间}{作业实际运行的时间} = \frac{作业完成时间-作业提交时间}{作业实际运行的时间}
带权周转时间=作业实际运行的时间作业周转时间=作业实际运行的时间作业完成时间−作业提交时间
对于周转时间相同的两个作业,实际运行时间长的作业在相同时间内被服务的时间更多,带权周转时间更小,用户满意度更高。
对于实际运行时间相同的两个作业,周转时间短的带权周转时间更小,用户满意度更高。
容易发现:
带权周转时间 必然 ≥ 1
带权周转时间与周转时间 都是 越小越好
相应地,和平均周转时间一样,也会有一个平均带权周转时间。这个就是操作系统比较关心的一个指标。
平均带权周转时间
=
各作业带权周转时间之和
作业数
平均带权周转时间 = \frac{各作业带权周转时间之和}{作业数}
平均带权周转时间=作业数各作业带权周转时间之和
(四)等待时间
计算机的用户希望自己的作业尽可能少的等待处理机。
等待时间,就是进程/作业处于等待处理机状态时间之和,等待时间越长,用户满意度越低。
对于进程来说,等待时间就是指进程建立后等待被服务的时间之和,在等待I/O完成的期间其实进程也是在被服务的,所以不计入等待时间。
对于作业来说,不仅要考虑建立进程后的等待时间,还要加上作业在外存后备队列中等待的时间。
一个作业总共需要被CPU服务多久、被I/O设备服务多久一般是确定不变的,因此调度算法其实只会影响作业/进程的等待时间。当然,同样地,也有“平均等待时间”来评价整体性能。
(五)响应时间
对于计算机用户来说,会希望自己提交的请求(比如通过键盘输入了一个调试命令)尽早地开始被系统服务、回应。
响应时间,指从用户提交请求到首次产生响应所用的时间。