操作系统第五讲
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
42(分钟) 42(分钟) 分钟 60(分钟) 60(分钟) 分钟 66(分钟 分钟) 66(分钟) 96(分钟) 96(分钟) 分钟 96(分钟 分钟) 96(分钟) 15k
1 2
4 8
平均周转时间 T=(42+60+66+96+96)/5=72分钟 T=(42+60+66+96+96)/5=72分钟 平均带权周转时间 T'=(1+2+2.75+4+8)/5=3.55 =(1+2+2.75+4+8)/5=3.55
(理解) 理解)
名
提交时刻 入内存时间 开始时间 结束时间 周转时间 带权周转时
A B D 2.75 C E
8:06 8:18 8:36 8:30 8:42
8:06 8:18 8:36 9:18 9:18
8:06 8:48 9:18 9:42 10:06
8:48 9:18 9:42 10:06 10:18
(理解) 理解)
作业 提交时刻 运行时间 开始时刻 完成时刻 周转时间 带权周转时 间
A B C D
8:00 : 8:50 : 9:00 : 9:50 :
2小时 小时
8:00 :
10:00 :
2小时 小时 2小时 小时 2小时 小时
1 2.4 12
50分钟 10:00 10:50 分钟 : : 10分钟 10:50 分钟 : 20分钟 11:00 分钟 : 11:00 : 11:20 :
(理解) 理解)
二,进程调度的时机
引起进程调度的原因有哪些? 引起进程调度的原因有哪些? 处理机调度的可剥夺方式和不可剥夺 方式 Unix 系统发生进程调度的时机 系统发生进程调度的时机?
(理解) 理解)
三,进程上,下文切换
1,判断是否需要做上下文切换,目前是 否允许做上下文切换 2,保存当前执行进程的上下文 3,确认已选好的就绪进程 4,恢复或装配所选进程的上下文 5,将cpu的控制权交给所选进程
(重点) 重点)
四,优先级法 算法描述:按照某种原则给作业或进程确 定一个优先级,进程的就绪队列或作业的 后备队列按对象的优先级进行排列,高前 低后.对象进入队列是插入.当调度发生 时,排列在最前面的进程或作业被调度. 确定优先级的方法有两类: 动态法和静态法:
(理解) 理解)
1,静态优先级的确定 作业调度中静态优先级的一般确定原则: 进程调度中静态优先级的一般确定原则: 由于在进程调度中静态优先级确定方法的 缺陷:系统效率低,调度性能不高,所以 多采用动态的方法确定优先级.
(重点) 重点)
五,最短作业优先法SJF(作业调度)
每次选择后备队列中估计运行时间最短 的作业首先投入运行 优,缺点:
(重点) 重点)
六,最高响应比优先法(作业调度)
综合平衡FCFS和SJF,既考虑等待时间长 的作业,也照顾执行时间短的作业. 响应比:R=(等待时间+执行时间)/执行时间 每次调度前计算所有作业的响应比,将 响应比最高的作业投入运行.
(理解) 理解)
第五节 算法评价
算法评价
(理解) 理解)
一,FCFS算法 算法
1,几个变量的说明 , 作业到达率; λ :作业到达率; μ :服务器 主机 的服务率; 服务器(主机 的服务率; 主机)的服务率 只有当λ< μ时系统才是稳定的 时系统才是稳定的. 只有当λ< μ时系统才是稳定的. n:系统中的平均作业个数; :系统中的平均作业个数; R:系统响应时间; :系统响应时间;
1.5小时 4.5 小时
平均周转时间: 平均周转时间: T=(2+2+2+1.5)/4=1.875 小时 带权平均周转时间: 带权平均周转时间: T'=(1+2.4+12+4.5)/4=4.975
(理解) 理解)
第三节 进程调度
(重点) 重点)
一,进程调度的功能 1,用PCB块记录系统中所有进程的执 行情况 2,按照一定的调度算法,选择一个处 于就绪状态的进程,给它分配处理 机(这是最重要的功能) 3,实施进行进程上下文的切换
(重点) 重点)
2,如何衡量一个作业调度算法: 衡量的指标主要有周转时间和响应时间. 而在批处理系统中使用的主要指标是周 转时间. (1)周转时间: 作业i从提交时刻到完成时刻称为作业的 周转时间.Ti = Tei - Tsi 完成 提交
(理解) 理解)
一个作业的周转时间说明了该作业在系 统内停留的时间, 包含两部分: 统内停留的时间 , 包含两部分 : 一是等 待时间; 待时间;二为执行时间 Ti = Twi + Tri
这种算法只能用来分配那些可抢占 资源,而且这种算法只能用于进程调度. 在轮转法中,时间片长度的选取 非常重要,时间片长度的选择会直接影 响系统开销和响应时间.
(理解) 理解)
如果时间片长度过短,则调度程序 剥夺处理机的次数增多,这将使进程上 下文交换次数也大大增加,加重了系统 开销.如果时间片长度选择过长(大), 大到一个进程足以完成其全部运行工作 所需的时间,那么时间片轮转法就退化 为先来先服务策略了.最佳的时间片量 值应能使分时用户得到好的响应时间.
(理解) 理解)
时间片的确定 在轮转法中,时间片长度q根据系统对 响应时间的要求R和就绪队列中所能容纳 的最大进程数Nmax确定的.
q=R/Nmax
一种改进的方法就是每当一轮调度开 始时,系统根据就绪队列中当前的进程 数计算一次q,作为新一轮调度的时间片.
(重点) 重点)
三,多级反馈轮转法(进程调度)
60k
10k 15k
(理解) 理解)
在单道环境下,某批处理有四道作业, 在单道环境下,某批处理有四道作业,已知他 们的进入系统的时刻,估计运算时间如下: 们的进入系统的时刻,估计运算时间如下: 作业 提交时刻 运行时间 1 8:00 2小时 小时 2 8:50 50分钟 分钟 3 9:00 10分钟 分钟 4 9:50 20分钟 分钟 算法, 用SJF算法,计算作业的周转时间和带权周转 算法 时间,平均周转时间和平均带权周转时间 时间,
(理解) 理解)
ρ : λ/μ,是系统中存在作业的 概率,1-ρ是系统中没有作业的概率. n= ρ/(1-ρ) 2,Little结果:n=λR;R=n/λ 3,FCFS算法的评价: R=n/λ=ρ/(1-ρ)*1/λ
n ==1 T==1/n ∑ Ti i=1 i=1
一批作业的平均周转时间为
(重点) 重点)
2,带权周转时间 Wi=Ti/Tri 一批作业的平均带权周转时间为
n
W=1/n ∑ Wi
i=1
(理解) 理解)
作业调度举例:
1,在单道环境下,某批处理有四道作业,已知 他们的进入系统的时刻,估计运算时间如下: 作业 提交时刻 运行时间 A 8:00 2小时 B 8:50 50分钟 C 9:00 10分钟 D 9:50 20分钟 用FCFS算法,计算作业的周转时间和带权周转 时间,平均周转时间和平均带权周转时间
(理解) 理解)
第二节 作业调度
(重点) 重点)
一,作业调度的功能
作业调度实际是完成两个转换过程 作业控制块JCB:在作业调度的过程中记 录作业各方面的信息. 它随作业的创建而产生,随作业的撤消 而被清除.
(理解) 理解)
二,作业调度的目标和性能衡量
作业调度中,最重要的是根据一定的调 度算法,从后备作业队列中挑选作业进 入执行状态,而调度算法由系统的调度 目标决定. 1,调度目标主要考虑以下4点:
(理解) 理解)
在多道环境下,有用户存储空间100KB, 在多道环境下,有用户存储空间100KB,规定作 100KB 业相应程序被连续装入内存区域, 业相应程序被连续装入内存区域,并不能被移 作业与进程均采用FCFS FCFS算法 动,作业与进程均采用FCFS算法
作业名 A B C D E 提交时刻 8:06 8:18 8:30 8:36 8:42 运行时间( 运行时间(分) 42 30 24 24 12 需内存量KB 需内存量KB 15 60 50 10 20
1,在时间片轮转法中设置三个就绪队列 (1)时间片完成就绪队列 (2)等待结束就绪队列 (3)新进程就绪队列 2,每个队列建立时按FCFS排列,同一队 列中进程的优先级相同,不同队列具有 不同的优先级
(理解) 理解)
优先级高的队列中进程的时间片短,优先 级低的队列中进程的时间片长. 3,进程调度时,先调度高优先级就绪队 列中的进程,当高优先级就绪队列为空时 才调度优先级低的就绪队列中的进程 4,一个进程在执行过程中要经历不同的 就绪队列
1 3 7 2
50分钟 10:30 分钟 : 10分钟 10:00 分钟 : 20分钟 10:10 分钟 :
平均周转时间: 平均周转时间: T=(2+2.5+1+5/6)/4= 1.583小时 小时 带权平均周转时间: 带权平均周转时间: T'=(1+3+7+2)/4=3.25
运行顺序是: 运行顺序是: A C D B
(理解) 理解)
二.调度的层次 调度的层次
一般来说,处理机调度可分为 级 一般来说,处理机调度可分为4级: 作业调度,交换调度,进程调度,线程调度. 作业调度,交换调度,进程调度,线程调度.
交换调度主要涉及内存的管理和扩充, 交换调度主要涉及内存的管理和扩充,一般将它归在 存储管理之中; 存储管理之中; 只有在多道批处理系统中才有作业调度, 只有在多道批处理系统中才有作业调度,而在分时和 实时系统中一般只有进程调度,交换调度和线程调度. 实时系统中一般只有进程调度,交换调度和线程调度.
第四章 处理机调度
第一节 分级调度
(理解) 理解)
一,作业的状态及其转换
(理解) 理解)
一,作业的状态及其转换
从上图中可以看出: 从上图中可以看出: (1) 一个用户作业从建立到最后执行 或非正 一个用户作业从建立到最后执行(或非正 结束, 常)结束,中间要经过各种处理机调度. 结束 中间要经过各种处理机调度. (2) 系统的调度是分层次的. 系统的调度是分层次的.
(理解) 理解)
作业 提交时刻 运行时间 开始时刻 完成时刻 周转时间 带权周转时 间
A B C D
8:00 : 8:50 : 9:00 : 9:50 :
2小时 小时
8:00 :
10:00 : 11:20 : 10:10 : 10:30 :
2小时 小时 2小时 分 小时30分 小时 1小时 分 小时10分 小时 40分钟 分钟
(重点) 重点)
二,(时间片)轮转法(RR)
算法描述:就绪队列按进程到达的时间 来排列.处理机的时间被分为固定大小 的时间片.调度程序总是选择就绪队列 中的第一个进程.一个执行进程如果在 用完一个时间片后还没有完成其任务, 它就自动释放处理机回到就绪队列的末 尾重新排队,等待下一次被调度.
(理解) 理解)
(理解) 理解)
四,进程调度性能评价
1,进程调度性能是衡量操作系统性能的 一个重要指标 2,在大多数情况下,利用测试或模拟系 ,在大多数情况下, 统响应时间的方法来评价进程调度的性 能
(理解) 理解)
第四节 调度算法
(Hale Waihona Puke Baidu点) 重点)
一,先来先服务(FCFS)算法
它是一种基础的算法,优先考虑在系统 中等待时间最长的作业.这种算法常和 其他算法结合使用.它既可以用在进程 调度,也可以用在作业调度.
(理解) 理解)
2,进程调度中动态优先级的一般确定原 则: 3,进程的动态优先级调度策略举例:线 性优先级算法
(理解) 理解)
(1) 系统中用户进程有两个就绪队列 a. 新创建进程的就绪队列; 优先级:p=a×t b. 已使用过cpu的进程的就绪队列; 优先级:p=b×t 其中 a>b>0;分别是两就绪队列中进 程优先级的增长速度.
(理解) 理解)
(2) 设某一进程在t1时刻被创建,进入a队 列,到某一时刻t它的优先级为: pa(t)=a×(t--t1) 设该进程在某时刻t1'进入b队列,到某一 时刻t它的优先级为: pb(t)=a×(t1'--t1)+b ×(t--t1') 其中 t1<t1'<t
(理解) 理解)
(3) 一般情况下,由于pb(t)>pa(t),所以进 程调度以b队列优先.由于a队列进程优先 级的增长快于b队列,每当a队列的第一个 进程的优先级>=b队列的最后一个进程的 优先级时, a队列的第一个进程被移入b 队列;另外,当b队列为空时, a队列的 第一个进程被移入b队列. 调度发生在b队列的第一个进程上