2.2.2操作系统(CPU利用率 系统吞吐量 周转时间 调度算法 FCFS SJF HRRN)

目录

调度算法的评价指标

​1.CPU利用率

2.系统吞吐量

3.周转时间

4.等待时间 

5.响应时间

调度算法

1.先来先服务(FCFS, First Come First Serve)

2.短作业优先(SJF, Shortest Job First)

非抢占式

 抢占式

注意几个小细节:

对FCFS和SJF两种算法的思考…

3.高响应比优先(HRRN, Highest Response Ratio Next)

知识回顾与重要考点


调度算法的评价指标

1.CPU利用率

由于早期的 CPU 造价极其昂贵,因此人们会 希望让 CPU 尽可能多地工作
CPU 利用率 :指 CPU “忙碌”的时间占总时间的比例。
Eg :某计算机只支持单道程序,某个作业刚开始需要在 CPU 上运行 5 秒,
再用打印机打印输出 5 秒,之后再执行 5 秒,才能结束。在此过程中,
CPU 利用率、打印机利用率分别是多少?

2.系统吞吐量

对于计算机来说,希望能用尽可能少的时间处理完尽可能多的作业
系统吞吐量 :单位时间内完成作业的数量
Eg :某计算机系统处理完 10 道作业,共花费 100 秒,则系统吞吐量为?
10/100 = 0.1 /

3.周转时间

对于计算机的用户来说,他很关心自己的作业从提交到完成花了多少时间。
周转时间 ,是指从 作业被提交给系统开始 ,到 作业完成为止 的这段时间间隔。
它包括四个部分:作业在外存后备队列上等待作业调度(高级调度)的时间、进程在就绪队列上等
待进程调度(低级调度)的时间、进程在 CPU 上执行的时间、进程等待 I/O 操作完成的时间。后三项在一个作业的整个处理过程中,可能发生多次。

 

 

 

4.等待时间 

计算机的用户希望自己的作业尽可能少的等待处理机
等待时间 ,指进程 / 作业 处于等待处理机状态时间之和 ,等待时间越长,用户满意度越低。
对于 进程 来说,等待时间就是指进程建立后 等待被服务的时间之和 ,在等待 I/O 完成的期间其实进
程也是在被服务的,所以不计入等待时间。
对于 作业 来说,不仅要考虑 建立进程后的等待时间 还要加上作业在外存后备队列中等待的时间。
一个作业总共需要被 CPU 服务多久,被 I/O 设备服务多久一般是确定不变的,因此调度算法其实只会影响作业/ 进程的等待时间。当然,与前面指标类似,也有“ 平均等待时间 ”来评价整体性能。

5.响应时间

对于计算机用户来说,会希望自己的提交的请求(比如通过键盘输入了一个调试命令)尽早地开始被系统服务、回应。 响应时间 ,指从用户 提交请求 首次产生响应 所用的时间。

调度算法

Tips :各种调度算法的学习思路
1. 算法思想
2. 算法规则
3. 这种调度算法是用于 作业调度 还是 进程调度?
4. 抢占式?非抢占式?
5. 优点和缺点
6. 是否会导致 饥饿

1.先来先服务(FCFS, First Come First Serve

例题:各进程到达就绪队列的时间、需要的运行时间如下表所示。使用 先来先服务 调度算法,计算各进程的等待时间、平均等待时间、周转时间、平均周转时间、带权周转时间、平均带权周转时间。
先来先服务调度算法:按照到达的先后顺序调度,事实上就
是等待时间越久的越优先得到服务。
因此, 调度顺序 为:

 

2.短作业优先(SJF, Shortest Job First

非抢占式

 抢占式

 

注意几个小细节:

1. 如果题目中 未特别说明 ,所提到的“短作业 / 进程优先算法” 默认 非抢占式
2. 很多书上都会说“ SJF 调度算法的平均等待时间、平均周转时间最少”
严格来说,这个表述是错误的,不严谨的。之前的例子表明,最短剩余时间优先算法得到的平均等待时间、平均周转时间还要更少
应该加上一个条件“在 所有进程同时可运行 时,采用 SJF 调度算法的平均等待时间、平均周转时间最
少”;
或者说“在 所有进程都几乎同时到达 时,采用 SJF 调度算法的平均等待时间、平均周转时间最少”;
如果不加上述前提条件,则应该说“ 抢占式的 短作业 / 进程优先调度算法( 最短剩余时间优先 , SRNT 算法)的平均等待时间、平均周转时间最少”
3. 虽然严格来说, SJF 的平均等待时间、平均周转时间并不一定最少,但相比于其他算法(如 FCFS ), SJF依然可以获得较少的平均等待时间、平均周转时间
4. 如果选择题中遇到“ SJF 算法的平均等待时间、平均周转时间最少”的选项,那最好判断其他选项
是不是有很明显的错误,如果没有更合适的选项,那也应该选择该选项

FCFSSJF两种算法的思考

3.高响应比优先(HRRN, Highest Response Ratio Next

 

知识回顾与重要考点

注:这几种算法主要关心对用户的公平性、平均周转时间、平均等待时间等评价系统整体性能的指标,但是不关心“响应时间”,也并不区分任务的紧急程度,因此对于用户来说,交互性很糟糕。因此这三种算法一般适合用于 早期的批处理系统 ,当然, FCFS 算法也常结合其他的算法使用,在现在也扮演着很重要的角色。而适合用于 交互式系统 的调度算法将在下个小节介绍
提示:一定要动手做课后习题! 这些算法特性容易考小题,算法的使用常结合调度算法的评价指标在大题中考察。

猜你喜欢

转载自blog.csdn.net/Javascript_tsj/article/details/124085833