《计算机操作系统》课件OS-chapter 4.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《计算机操作系统》课件OS-chapter 4.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机操作系统 计算机操作系统课件OS-chapter 计算机 操作系统 课件 OS chapter
- 资源描述:
-
1、第四章第四章 处理机调度与死锁处理机调度与死锁 v掌握调度的层次及进程调度与作业调度的关系掌握调度的层次及进程调度与作业调度的关系v掌握各种作业调度算法及每种算法的作业周转时掌握各种作业调度算法及每种算法的作业周转时间和带权平均周转时间间和带权平均周转时间v死锁的原因,产生死锁的四个必要条件以及死锁死锁的原因,产生死锁的四个必要条件以及死锁的解决。的解决。本章重点:本章重点:各种作业调度算法及每种算法的作业周转时间和各种作业调度算法及每种算法的作业周转时间和带权平均周转时间带权平均周转时间死锁的解决死锁的解决本章难点本章难点:v分级调度分级调度v作业调度作业调度v进程调度进程调度v死锁死锁v小
2、结小结41分级调度作业的状态及转换作业的状态及转换处理机调度:如何处理机调度:如何从众多的作业队列中选择一道或几道从众多的作业队列中选择一道或几道进入内存进入内存,进入内存的若干进程又如何去,进入内存的若干进程又如何去竞争竞争CPU的使的使用权用权,这称为处理机调度。,这称为处理机调度。处理机调度分处理机调度分4级:作业调度、交换调度、进程调度、级:作业调度、交换调度、进程调度、线程调度。线程调度。作业调度:负责从后备队列中选择作业投入运行。作业调度:负责从后备队列中选择作业投入运行。将作业从运行状态变成完成状态。将作业从运行状态变成完成状态。进程调度:则将进程从就绪状态变为运行状态。进程调度
3、:则将进程从就绪状态变为运行状态。交换调度:负责将外存交换区中的进程调入内存。交换调度:负责将外存交换区中的进程调入内存。将内存进程调入外存交换区。将内存进程调入外存交换区。v四者关系作业调度作业调度提交提交收容收容外存外存内存内存就绪就绪就绪就绪执行执行交换调度交换调度等待等待等待等待进程调度进程调度完成完成线程调度线程调度作业调度:作业调度:又称高级调度,又称高级调度,宏观调度。宏观调度。其主要任务是对大量的后备作业以一定的原则进行挑选,其主要任务是对大量的后备作业以一定的原则进行挑选,给选中的作业分配内存、给选中的作业分配内存、I/O设备等必要的资源,建立相设备等必要的资源,建立相应的进
4、程,这时该作业所对应的进程具有使用应的进程,这时该作业所对应的进程具有使用CPU的权力。作业完成时负责收回资源的权力。作业完成时负责收回资源 进程调度:进程调度:又称低级调度,又称低级调度,微观调度。微观调度。其任务是按照某种原则将其任务是按照某种原则将CPU分配给某一就绪进程,即分配给某一就绪进程,即确定哪个进程在什么时候获得处理机,使用多长时间。确定哪个进程在什么时候获得处理机,使用多长时间。二者联系:作业调度创建进程调度所需要进程。二者联系:作业调度创建进程调度所需要进程。二者区别:二者区别:处理对象不同;处理对象不同;完成任务不同。完成任务不同。交换调度:交换调度:又称中级调度,又称中
5、级调度,其主要任务是按照给定的原则和策略,将处于外存交换其主要任务是按照给定的原则和策略,将处于外存交换区中的就绪进程或等待进程调入内存,或者把内存中的区中的就绪进程或等待进程调入内存,或者把内存中的就绪进程或等待进程交换到外存中。就绪进程或等待进程交换到外存中。42作业作业调度一、作业调度功能一、作业调度功能1.数据结构:数据结构:JCB用于记录作业相关信息用于记录作业相关信息 2.从后备队列中挑选一部分作业投入运行从后备队列中挑选一部分作业投入运行 3.为被选中的作业做好执行前的准备工作:建立进程为被选中的作业做好执行前的准备工作:建立进程分配资源分配资源4.作业完成后做善后处理工作:收回
6、资源,输出执行作业完成后做善后处理工作:收回资源,输出执行时间等作业管理信息时间等作业管理信息二、作业调度目标及性能衡量标准二、作业调度目标及性能衡量标准 1.调度目标:调度目标:对所有的作业应该是公平合理的对所有的作业应该是公平合理的设备利用率高设备利用率高单位时间内执行尽可能多的作业单位时间内执行尽可能多的作业每个作业有尽可能快的响应时间每个作业有尽可能快的响应时间 2.调度衡量标准:调度衡量标准:周转时间周转时间 Ti=Tfi-Tsi Ti=Twi+Tri 平均周转时间T=带权周转时间wi=带权平均周转时间w=niTin11TriTiTriTriTwiTriTwiniWin11=1+三、
7、作业调度算法三、作业调度算法1.先到先服务先到先服务FCFS:优先选择最先到达的作业:优先选择最先到达的作业作业提交时间运行时间开始时刻完成时间周转时间带权周转时间18:002528:201038:202048:302058:3515T=175/5=35W=10.2/52.04 2.短作业优先短作业优先SJF:优先选择最少运行时间的作业:优先选择最少运行时间的作业作业提交时间运行时间开始时刻完成时间周转时间带权周转时间18:002528:201038:202048:302058:3515T=33W=1.8 3.响应比高者优先考虑响应比高者优先考虑:作业提交时间运行时间开始时刻完成时间周转时间带
8、权周转时间18:002528:201038:202048:302058:3515T=34W=1.91 响应比响应比=等待时间等待时间/运行时间运行时间 43进程调度进程调度一、进程调度功能一、进程调度功能1.记录系统中所有进程的执行情况 2.从就绪进程中选择占有处理机的进程 3.进行进程上下文(进程状态、有关变量、数据结构的值、硬件寄存器值、PCB等)切换二、进程调度的时机二、进程调度的时机1.正在执行的进程运行完毕正在执行的进程运行完毕2.执行中的进程变成阻塞状态执行中的进程变成阻塞状态3.分时系统中时间片用完分时系统中时间片用完4.可剥夺调度方式中有优先级高的进程进入就绪队列可剥夺调度方式
9、中有优先级高的进程进入就绪队列三、进程调度性能衡量标准三、进程调度性能衡量标准 1.定性标准:定性标准:(1)可靠性:一次进程调度是否能引起数据结构的破坏)可靠性:一次进程调度是否能引起数据结构的破坏(2)简洁性:调度程序的国度繁琐将引起较大的系统开销)简洁性:调度程序的国度繁琐将引起较大的系统开销2.定量标准定量标准(1)CPU的利用率的利用率(2)进程在就绪队列中的等待时间与执行时间之比)进程在就绪队列中的等待时间与执行时间之比 四、进程调度调度方式四、进程调度调度方式 1.可剥夺可剥夺:2.不可剥夺:不可剥夺:五、进程调度算法1.先到先服务先到先服务FCFS:优先调度最先进入就绪队列的进
10、程:优先调度最先进入就绪队列的进程2.轮转法轮转法(Round Robin):将):将CPU的处理时间分成固定的处理时间分成固定大小的时间片,一个进程在被调度程序选中后用完了系统大小的时间片,一个进程在被调度程序选中后用完了系统规定的时间片但未完成要求的任务,自动到就绪队列队尾规定的时间片但未完成要求的任务,自动到就绪队列队尾3.多级反馈队列法(多级反馈队列法(Round Robin with Multiple Feedback):):优先级 高 低 RL1 RL2 RLn 时间片 短 长 4.优先数法优先数法:优先调度优先级最高的进程:优先调度优先级最高的进程动态优先数:优先数随着进程的执行
11、而发生变化动态优先数:优先数随着进程的执行而发生变化 5.SCBF(Short CPU Burst First)静态优先数:进程的执行期间优先数不变静态优先数:进程的执行期间优先数不变 六、进程调度与作业调度的比较对象分配资源使用频率调度算法作业后备作业内存、设备低FCFS,SJC优先数响应比高者优先进程就绪进程CPU高FCFS,轮转法,优先数,多级反馈队列法4.4进程死锁进程死锁例:P1 打印机 绘图仪 P2 绘图仪 打印机Pi思考思考P(S(i+1)mod 5)拿左叉拿左叉P(S(i))拿右叉;拿右叉;吃饭;吃饭;放左叉;放左叉;V(S(i+1)mod 5)放右叉放右叉V(S(i));例:
12、哲学家就餐问题例:哲学家就餐问题01234思考思考吃饭吃饭01234例:例:P2、P1都需都需3台打印机台打印机,系统中有,系统中有4台打印机,台打印机,其中其中P1和和P2各分得各分得2台。台。P2 P1 一、死锁的定义:一、死锁的定义:死锁:死锁:指各并发过程彼此互相等待对方所使用的资源,指各并发过程彼此互相等待对方所使用的资源,且这些并发进程在得到对方的资源之前不会释放自己所且这些并发进程在得到对方的资源之前不会释放自己所拥有的资源,从而造成了一种僵局。如果无外力作用,拥有的资源,从而造成了一种僵局。如果无外力作用,这些进程永远不能再向前推进。这些进程永远不能再向前推进。二、死二、死锁锁
13、产生的原因产生的原因竞争资源竞争资源 进程推进顺序不当进程推进顺序不当 DP2(Rel(R1)P2(Rel(R2)P2(Req(R1)P2(Req(R2)P1Req(R1)P1Req(R2)P1Rel(R1)P1Rel(R2)三、产生死锁的四个必要条件三、产生死锁的四个必要条件1.互斥条件互斥条件2.部分分配部分分配 3.不剥夺条件(不可抢占)不剥夺条件(不可抢占)4.环路条件环路条件四、死锁的解决四、死锁的解决1.死锁的预防:死锁的预防:打破死锁存在条件中的一个或几个打破死锁存在条件中的一个或几个有三种方法:有三种方法:1)打破互斥和不剥夺条件打破互斥和不剥夺条件:一个已保持了某些资源的进:
14、一个已保持了某些资源的进程。若新的资源要求不能立即得到满足,它必须释放程。若新的资源要求不能立即得到满足,它必须释放已保持的所有资源,以后需要时再重新申请,这意味已保持的所有资源,以后需要时再重新申请,这意味着一个进程已占有的资源,在运行过程中可能暂时地着一个进程已占有的资源,在运行过程中可能暂时地释放或说被剥夺。释放或说被剥夺。2)打破部分分配条件:打破部分分配条件:系统要求所有进程一次性申请所系统要求所有进程一次性申请所需的全部资源。若系统有足够的资源分配给一个进程需的全部资源。若系统有足够的资源分配给一个进程时,便一次把所需资源分配给该进程。这样,进程在时,便一次把所需资源分配给该进程。
15、这样,进程在整个运行期间为会提出任何要求,但系统浪费严重,整个运行期间为会提出任何要求,但系统浪费严重,降低了并发性。降低了并发性。3)打破环路条件:打破环路条件:将所有资源编号,申请时按顺序申请,将所有资源编号,申请时按顺序申请,先申请小号,再申请大号,这样,能保证申请到最大先申请小号,再申请大号,这样,能保证申请到最大号者,肯定运行完成。号者,肯定运行完成。2、死锁的避免、死锁的避免1)安全与不安全状态:允许进程动态申请资源,系统进)安全与不安全状态:允许进程动态申请资源,系统进行资源分配前先计算资源分配的安全性,若此次分配行资源分配前先计算资源分配的安全性,若此次分配不会导致不会导致 进
展开阅读全文