操作系统讲稿 - 西安电子科技大学出版社.ppt
《操作系统讲稿 - 西安电子科技大学出版社.ppt》由会员分享,可在线阅读,更多相关《操作系统讲稿 - 西安电子科技大学出版社.ppt(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章 处理机调度与死锁,掌握调度的层次及进程调度与作业调度的关系掌握各种作业调度算法及每种算法的作业周转时间和带权平均周转时间死锁的原因,产生死锁的四个必要条件以及死锁的解决。,本章重点:,各种作业调度算法及每种算法的作业周转时间和带权平均周转时间死锁的解决,本章难点:,分级调度作业调度进程调度死锁小结,41分级调度,作业的状态及转换,处理机调度:如何从众多的作业队列中选择一道或几道进入内存,进入内存的若干进程又如何去竞争CPU的使用权,这称为处理机调度。,处理机调度分4级:作业调度、交换调度、进程调度、线程调度。,作业调度:负责从后备队列中选择作业投入运行。将作业从运行状态变成完成状态。,
2、进程调度:则将进程从就绪状态变为运行状态。,交换调度:负责将外存交换区中的进程调入内存。将内存进程调入外存交换区。,四者关系,作业调度,提交,收容,内存,就绪,就绪,执行,交换调度,等待,等待,进程调度,完成,线程调度,作业调度:,又称高级调度,,宏观调度。,其主要任务是对大量的后备作业以一定的原则进行挑选,给选中的作业分配内存、I/O设备等必要的资源,建立相应的进程,这时该作业所对应的进程具有使用CPU的权力。作业完成时负责收回资源,进程调度:,又称低级调度,,微观调度。,其任务是按照某种原则将CPU分配给某一就绪进程,即确定哪个进程在什么时候获得处理机,使用多长时间。,二者联系:作业调度创
3、建进程调度所需要进程。,二者区别:,处理对象不同;,完成任务不同。,交换调度:,又称中级调度,,其主要任务是按照给定的原则和策略,将处于外存交换区中的就绪进程或等待进程调入内存,或者把内存中的就绪进程或等待进程交换到外存中。,42作业调度,一、作业调度功能,1.数据结构:JCB用于记录作业相关信息,2.从后备队列中挑选一部分作业投入运行,3.为被选中的作业做好执行前的准备工作:建立进程分配资源,4.作业完成后做善后处理工作:收回资源,输出执行时间等作业管理信息,二、作业调度目标及性能衡量标准,1.调度目标:,对所有的作业应该是公平合理的,设备利用率高,单位时间内执行尽可能多的作业,每个作业有尽
4、可能快的响应时间,2.调度衡量标准:,周转时间 Ti=Tfi-Tsi Ti =Twi+Tri,平均周转时间T=,带权周转时间wi=,带权平均周转时间w=,=,=1+,三、作业调度算法,1.先到先服务FCFS :优先选择最先到达的作业,T=175/5=35,W=10.2/52.04,2.短作业优先SJF :优先选择最少运行时间的作业,T=33,W=1. 8,3.响应比高者优先考虑 :,T=34,W=1. 91,响应比=等待时间/运行时间,43进程调度,一、进程调度功能,1.记录系统中所有进程的执行情况,2.从就绪进程中选择占有处理机的进程,3.进行进程上下文(进程状态、有关变量、数据结构的值、硬
5、件寄存器值、PCB等)切换,二、进程调度的时机,1.正在执行的进程运行完毕,2.执行中的进程变成阻塞状态,3.分时系统中时间片用完,4.可剥夺调度方式中有优先级高的进程进入就绪队列,三、进程调度性能衡量标准,1.定性标准:,(1)可靠性:一次进程调度是否能引起数据结构的破坏,(2)简洁性:调度程序的国度繁琐将引起较大的系统开销,2.定量标准,(1)CPU的利用率,(2)进程在就绪队列中的等待时间与执行时间之比,四、进程调度调度方式,1.可剥夺 :,2.不可剥夺:,五、进程调度算法,1.先到先服务FCFS:优先调度最先进入就绪队列的进程,2.轮转法 (Round Robin):将CPU的处理时间
6、分成固定大小的时间片,一个进程在被调度程序选中后用完了系统规定的时间片但未完成要求的任务,自动到就绪队列队尾,3.多级反馈队列法( Round Robin with Multiple Feedback):,优先级,高,低,RL1,RL2,RLn,时间片,短,长,4.优先数法 :优先调度优先级最高的进程,动态优先数:优先数随着进程的执行而发生变化,5. SCBF(Short CPU Burst First),静态优先数:进程的执行期间优先数不变,六、进程调度与作业调度的比较,4.4进程死锁,例: P1 打印机 绘图仪 P2 绘图仪 打印机,Pi思考P(S(i+1) mod 5)拿左叉P(S(i)
7、 )拿右叉;吃饭;放左叉;V( S(i+1) mod 5 )放右叉V(S(i));,例:哲学家就餐问题,0,1,2,3,4,思考,吃饭,0,1,2,3,4,例:P2、P1都需3台打印机 ,系统中有4台打印机,其中P1和P2各分得2台。,P2 P1,一、死锁的定义:,死锁:指各并发过程彼此互相等待对方所使用的资源,且这些并发进程在得到对方的资源之前不会释放自己所拥有的资源,从而造成了一种僵局。如果无外力作用,这些进程永远不能再向前推进。,二、死锁产生的原因,竞争资源,进程推进顺序不当,P2(Rel(R1)P2(Rel(R2)P2(Req(R1)P2(Req(R2),P1Req(R1) P1Req
8、(R2) P1Rel(R1) P1Rel(R2),三、产生死锁的四个必要条件,1.互斥条件,2.部分分配,3.不剥夺条件(不可抢占),4.环路条件,四、死锁的解决,1.死锁的预防:打破死锁存在条件中的一个或几个有三种方法:,1)打破互斥和不剥夺条件:一个已保持了某些资源的进程。若新的资源要求不能立即得到满足,它必须释放已保持的所有资源,以后需要时再重新申请,这意味着一个进程已占有的资源,在运行过程中可能暂时地释放或说被剥夺。,2)打破部分分配条件:系统要求所有进程一次性申请所需的全部资源。若系统有足够的资源分配给一个进程时,便一次把所需资源分配给该进程。这样,进程在整个运行期间为会提出任何要求
9、,但系统浪费严重,降低了并发性。,3)打破环路条件:将所有资源编号,申请时按顺序申请,先申请小号,再申请大号,这样,能保证申请到最大号者,肯定运行完成。,2、死锁的避免,1)安全与不安全状态:允许进程动态申请资源,系统进行资源分配前先计算资源分配的安全性,若此次分配不会导致 进入不安全状态,则将资源分配给进程,否则进程等待。,安全状态:指将系统按照某种顺序如来为每一个进程分配其所需资源,直到最大需求使每个进程可顺序完成,若系统不存在这样一个安全系列,则系统处于不安全状态。只要系统处于安全状态,便可避免进死锁状态。,例:三个进程P1,P2,和P3所需要磁带机10,4,9系统中其12台。,T0时刻
10、 最大需求P110P24P39,T0时刻存在一个安全序列 所以系统安全。,如果 P3 请求 1 台, 状态发生变化.,已分配 522,可用3,还需527,找不到一个安全序列. 状态不安全. 请求不能满足。,如果 P1 请求 1 台, 状态发生变化. 结果如何?,如果 P2 请求 1 台, 状态发生变化. 结果又如何?,2)数据结构,(1) 可用资源向量 availablem: availablei 代表资源i的可用资源数。初值为系统中所配置的该类资源的全部可用资源数。availablej=k; Rj类资源有k个。,(2)Maxm,n: maxi,j=k 表示进程i最多需要k个Rj资源。,(3)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 讲稿 西安电子科技大学 西电 出版社
限制150内