




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
资源管理技术BasicsofComputerSoftware答辩人:XXX
进程与处理机管理8.2进程概念
进程调度死锁进程:就是程序的一次执行过程,是系统进行资源分配和调度的一个独立单位。进程管理也被称为处理机管理。处理机是计算机系统中的重要资源,所以它管理的好坏在很大程度上直接影响系统的效率。处理机管理又分两个部分:作业管理和进程管理。进程管理是由程序管理进化而来,是和程序管理密不可分的。进程概念
进程调度死锁进程与程序的主要区别进程具有并发性,而程序没有并发性进程和程序不是一一对应的:一个程序可对应多个进程即多个进程可执行同一程序;但一个进程只能对应1个程序。对应关系进程是动态的,而程序是静态的动态性进程有一定的生命期,是程序在数据集上的一次执行,生命周期不会跨越系统运行周期;而程序是指令的集合,是永存的生命周期性进程是竞争计算机资源的基本单位,程序不是资源竞争进程概念
进程调度死锁进程的特征多个进程实体在一段时间内能够并发执行并发性不同进程在逻辑上相互独立,有各的运行轨迹异步性进程的实质是程序的一次执行,因此进程是动态的动态性每个进程都是一个独立运行的基本单位,也是系统进行资源分配和调度的基本单位独立性系统为每个进程配置了一个进程控制块PCB。因此,从结构上看,每个进程都由程序段、数据段以及PCB这三部分组成结构性进程概念
进程调度死锁就绪状态已经获得投入运行所必需的一切资源,一旦分配到CPU,就可以立即执行运行状态进程获得了CPU及其它一切所需资源,正在CPU上运行着等待状态由于资源得不到满足,进程运行受阻,处于暂停状态,等待资源分配后,再投入运行进程状态运行状态等待状态
就绪状态
进程调度
等待资源时间用完获得资源进程概念
进程调度死锁进程控制块PCB1进程标识符2特征信息3执行状态信息4通信信息5调度优先数6现场信息7系统栈8进程映像信息9资源占有信息10族系关系进程概念
进程调度死锁进程调度:由于操作系统管理了系统的有限资源,当有多个进程要使用这些资源时,因为资源的有限性,必须按照一定的原则选择进程(请求)来占用资源。02可剥夺方式在某些条件下系统可以强制剥夺正在运行的进程使用处理机的权利,将其分配给另一个合适的就绪进程01不可剥夺方式也称不可抢占方式,一个进程在获得处理机后,除非运行结束或进入阻塞状态等原因主动放弃CPU,否则一直运行下去相关概念周转时间带权周转时间等待时间1周转时间进程从创建到执行完成所经历的时间周转时间T=完成时间-到达时间其值越接近平均运行时间,说明该调度算法越理想2带权周转时间周转时间和运行时间的比值。带权周转时间TW=周转时间/运行时间带权周转时间越接近1,说明该调度算法越理想。3等待时间进程从创建到执行完成所经历的时间减去占有CPU的时间等待时间W=周转时间-运行时间进程概念
进程调度死锁1.先来先服务(FCFS)调度算法进程概念
进程调度死锁当一个大进程运行时会使后到的小进程等待很长时间,这就增加了进程平均等待时间;不能为紧急进程优先分配CPU。算法思想按照进程进入就绪队列的时间次序分配CPU。算法特点具有不可抢占性的特点,处在就绪队列头部的进程首先获得CPU,一旦进程占用了CPU,一直运行到结束才放弃CPU,除非在运行中因等待事件被阻塞而放弃CPU。算法问题1.先来先服务(FCFS)调度算法进程概念
进程调度死锁进程到达时间运行时间开始时间完成时间等待时间周转时间带权周转时间P107P224P341P454平均周转时间平均带权周转时间平均等待时间运行进程P1
P2
P3P4
↑0↑7↑11↑12↑1607071711592.25111278812167112.75T=(7+9+8+11)/4=8.75TW=(1+2.25+8+2.75)/4=3.5W=(0+5+7+7))/4=4.75FCFS算法的运行时间轴2.短进程优先(SPF)调度算法进程概念
进程调度死锁必须预知进程的运行时间;对长进程不利;完全未考虑进程的紧迫程度算法思想每次进行进程调度时均选择运行时间最短的进程分配CPU算法特点SPF是以进程的运行时间长度作为优先级,进程运行时间越短,优先级越高算法问题进程概念
进程调度死锁进程到达时间运行时间开始时间完成时间等待时间周转时间带权周转时间P107P224P341P454平均周转时间平均带权周转时间平均等待时间运行进程P1
P3P2
P4
↑0↑7↑8↑12↑16070718126102.57834412167112.75T=(7+10+4+11)/4=8TW=(1+2.5+4+2.75)/4=2.56W=(0+6+3+7)/4=4FCFS算法的运行时间轴2.短进程优先(SPF)调度算法3.最短剩余时间优先算法进程概念
进程调度死锁后提交的大进程长期得不到响应算法思想每当有进程加入就绪队列时就需要调度,如果新到达的进程剩余时间比当前运行的进程剩余时间更短,则由新进程抢占处理机。另外,当一个进程完成时也需要调度。算法特点综合考虑了剩余时间和当前的短进程,算法的几个综合评价指标有所降低算法问题进程概念
进程调度死锁进程到达时间运行时间开始时间完成时间等待时间周转时间带权周转时间P107P224P341P454平均周转时间平均带权周转时间平均等待时间运行进程P1
P2
P3
P2
P4
P1
↑0↑7↑11↑160169162.2927151.2545011711261.5T=(16+5+1+6)/4=7TW=(2.29+1.25+1+1.5)/4=1.51W=(9+1+0+2)/4=3FCFS算法的运行时间轴3.最短剩余时间优先算法↑2↑4↑54.时间片轮转算法进程概念
进程调度死锁系统的效率与时间片大小的设置有关算法思想和分时系统类似算法特点时间片轮转为剥夺式调度算法,即当时间片用完后,即使当前进程没有执行结束,也会被剥夺CPU。时间片轮转算法比较适合交互式分时系统算法问题可将时间片分成多个规格,如10ms,20ms或50ms等。按时间片大小将就绪进程排成多个队列。优化方案5.优先级调度算法进程概念
进程调度死锁算法思想系统赋予每个进程一个优先数,用于表示该进程的优先级。调度程序总是从就绪队列中挑选一个优先级最高的进程,使之占有处理机02动态优先级调度优先级在进程运行中,可以动态调整01静态优先级调度优先级在进程创建时已经确定。在进程运行期间该优先数保持不变静态优先权法比较适合于实时系统,其优先级可根据事件的紧迫程度事先设定。动态优先级调度可根据实际情况调整优先级,处理更灵活短作业的进程可以赋予较高的优先级根据用户作业的申请,设置进程的优先级系统进程应当赋予比用户进程高的优先级I/O繁忙的进程应当优先获得CPU进程概念
进程调度死锁分配优先级需要考虑的因素6.高响应比优先调度算法进程概念
进程调度死锁需要估计每个进程的运行时间,而且每次调度时都要计算就绪队列中所有进程的响应比,这需要耗费不少的CPU时间算法思想每个进程都拥有一个动态优先数,该优先数不仅是进程运行时间(估计值)的函数,还是其等待时间的函数RP=响应时间/运行时间=1+等待时间/运行时间算法特点高响应比优先调度算法既照顾了短进程,又不使长进程等待时间过长,是先来先服务调度算法和短进程优先调度算法的一种很好的折中调度方案算法问题6.高响应比优先调度算法进程概念
进程调度死锁时刻事件和动作Rp值动作P1P2P3P40P1到,计算Rp1---P1运行2P2到
4P3到
5P4到
7P1结束,计算Rp-2.2541.5P3运行8P3结束,计算Rp-2.5-1.75P2运行12P2结束,计算Rp---2.75P4运行16P4结束
平均周转时间:T=(16+5+1+6)/4=7平均带权周转时间:TW=(2.29+1.25+1+1.5)/4=1.51平均等待时间:W=(9+1+0+2)/4=31.死锁的定义及产生进程概念
进程调度死锁死锁现象:每个进程所要求的资源都已被另一个进程占用,出现没有一个进程能继续运行,这种情况称“死锁”。打印机进程A进程B读卡机进程A申请到打印机进程A需要读卡机进程B申请到读卡机进程B需要打印机例如:进程A和B按下面的顺序推进,导致死锁。
1.A:申请打印机
2B:申请读卡机
3.A:申请读卡机4.B:申请打印机进程概念
进程调度死锁资源的部分分配需求某类资源的若干进程;每次只能申请或被分配其完全需求资源的一部分进程间非法交叉推进出现相关进程由于资源分配不当而出现循环等待资源独占性资源不能共享,外设只能由一个进程用完才能为其他进程所使用资源的不可剥夺性资源的非抢占式分配,一个进程占用外设时,另一个进程就不能把它夺过来,只能等待产生死锁的四个必要条件进程概念
进程调度死锁死锁的预防破坏产生死锁的4个必要条件中的任何一个死锁的避免躲避死锁的发生死锁检测与恢复允许死锁产生,但能检测出来并且有能力处理和恢复010203解决死锁的办法进程概念
进程调度死锁破坏资源的部分分配每个进程必须提出它所需要的全部资源,只有完全满足时,才能启动进程间非法交叉推进系统所有资源进行编号,并规定进程申请资源时必须按照资源编号的顺序进行破坏资源独占性采用假脱机技术(SPOOLing)可以使非共享设备变为共享设备破坏资源的不可剥夺性申请不到资源时,释放原先已占有的,进入等待,以后再一起申请2.死锁的预防提前确定系统资源分配算法,破坏产生死锁的四个必要条件中的任何一个或几个,以保证在系统运行中不发生死锁进程概念
进程调度死锁采用虚拟技术,使非共享设备变成共享设备,以预防死锁用户1用户2用户3••••••输出输出输出打印打印机主机2.死锁的预防进程概念
进程调度死锁2.死锁的预防系统资源进行统一编号。进程申请使用资源时,必须严格按照编号的升序进行进程A进程B进程C1、卡片输入机(3台)√√√2、行式打印机(2台)√√*3、卡片输入机(1台)√*4、磁带机(1台)进程概念
进程调度死锁3.死锁的避免
为了避免死锁的发生,系统对进程提出的每一个资源请求,先不是真正去分配,而是根据当时资源的使用情况,按一定的算法去进行模拟分配后的结果。只有当探测结果不会导致死锁,才真正接收进程提出的这一请求——银行家算法。银行家算法的思想:(假定在同类资源的分配上实行这一算法)系统接到一个进程的资源请求后,就先假定承认这一申请,把资源分配给它。然后系统用剩余的资源和每一个进程还需要的资源数相比,看能否找到这样的进程,系统把资源分配给它后,就能满足它对资源的最大需求,从而保证其运行完毕。如果能就分配给它,系统在其运行完后回收其占用的全部资源,就会有更多的剩余资源数。再重复这一过程,直到找不出这样的进程为止。请看下面示例:进程已分配数还需要数A13B42C53系统剩余2进程已分配数还需要数A22B42C53系统剩余1例:假定某系统有12台磁带机,A:最大需要量4,B:最大需要量6,C:最大需要量8银
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论