- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十讲
处理机调度算法、实时调度
2017年6月26日5时56分
本次课程主要内容
调度算法
高优先权优先调度算法
基于时间片的轮转调度算法
实时调度
实时调度算法的分类
常用的几种实时调度算法
2017年6月26日5时56分
2
2017年6月26日5时56分
3
job1
job2
job3
…..
外存
内存
Process1
Process2
Process3
…..
CPU
处理机
处理机调度:
Pro1
Pro2
Pro3
…..
作业
挂起进程
作业调度算法
中级调度
进程调度算法
2017年6月26日5时56分
4
调度算法比较:
FCFS
SJ(P)F
优点
有利于长作业(进程)
有利于短作业(进程)
缺点
不利于短作业(进程)
算法未考虑作业(进程)紧迫程度
不利于长作业(进程)
算法未考虑作业(进程)紧迫程度
作业长短难以准确估计
2017年6月26日5时56分
5
3.3.2 高优先权优先调度算法
1.优先权调度算法的类型
为了照顾紧迫型作业,使之在进入系统后便获得优先处理,引入了最高优先权优先(FPF)调度算法。此算法常被用于批处理系统中,作为作业调度算法,也作为多种操作系统中的进程调度算法,还可用于实时系统中。
2017年6月26日5时56分
6
用于作业调度时:从后备队列中选择若干个优先权最高的作业装入内存。
当用于进程调度时:该算法是把处理机分配给就绪队列中优先权最高的进程
job1
job2
job3
…..
外存
内存
Process1
Process2
Process3
…..
CPU
处理机
作业
作业调度算法
进程调度算法
(1)非抢占式优先权算法
(2)抢占式优先权调度算法
优先权调度算法:
2017年6月26日5时56分
7
优先权的类型:
优先权确定的依据:
进程类型、进程对资源的需求、用户要求
静态优先权
动态优先权
描述
创建时确定,0~7或0~255中的某一整数
可以随进程的推进或随其等待时间的增加而改变的
优点
简单易行,系统开销小
能够防止作业(进程)饿死
缺点
不够精确,很可能出现优先权低的作业(进程)长期没有被调度的情况。
实现相对复杂,动态计算优先权有一定的系统开销
2017年6月26日5时56分
8
2.高响应比优先调度算法
在批处理系统中,短作业优先算法是一种比较好的算法,其主要的不足之处是长作业的运行得不到保证。如果使作业的优先级随着等待时间的增加而以速率a提高,作业在等待一定的时间后,必然有机会分配到处理机。
2017年6月26日5时56分
9
由于等待时间与服务时间之和就是系统对该作业的响应时间,故该优先权又相当于响应比RP。据此,又可表示为:
思考:优先权会产生怎样的动态变化?
2017年6月26日5时56分
10
3.3.3 基于时间片的轮转调度算法
1.时间片轮转法
1) 基本原理
内存
Process1
Process2
Process3
…..
CPU
处理机
时间片轮转调度算法
几ms到几百ms
时钟中断请求
2017年6月26日5时56分
11
2) 时间片大小的确定
在时间片轮转算法中,时间片的大小对系统性能有很大的影响,如选择很小的时间片将有利于短作业,因为它能较快地完成,但会频繁地发生中断、进程上下文的切换,从而增加系统的开销;反之,如选择太长的时间片,使得每个进程都能在一个时间片内完成,时间片轮转算法便退化为FCFS算法,无法满足交互式用户的需求。一个较为可取的大小是,时间片略大于一次典型的交互所需要的时间。这样可使大多数进程在一个时间片内完成。
2017年6月26日5时56分
12
q=1和q=4时的进程运行情况
2017年6月26日5时56分
13
q=1和q=4时进程的周转时间
思考:什么类型的系统采用时间片轮转调度算法?
2017年6月26日5时56分
14
2.多级反馈队列调度算法
2017年6月26日5时56分
15
3.多级反馈队列调度算法的性能
(1) 终端型作业用户
(2) 短批处理作业用户
(3) 长批处理作业用户
3.4 实 时 调 度
2017年6月26日5时56分
16
3.4.1 实现实时调度的基本条件
1.提供必要的信息
为了实现实时调度,系统应向调度程序提供有关任务的下述一些信息:
(1) 就绪时间。这是该任务成为就绪状态的起始时间,在周期任务的情况下,它就是事先预知的一串时间序列;而在非周期任务的情况下,它也可能是预知的。
2017年6月26日5时56分
17
(2) 开始截止时间和完成截止时间。对于典型的实时应用,只须知道开始截止时间,或者知道完成截止时间。
(3) 处理时间。这是指一个任务从开始执行直至完成所需的时间。在某些情况下,该时间也
文档评论(0)