1 / 38
文档名称:

3.3死锁问题你不让,我也不让.ppt

格式:ppt   大小:534KB   页数:38页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

3.3死锁问题你不让,我也不让.ppt

上传人:阳仔仔 2019/11/20 文件大小:534 KB

下载得到文件列表

3.3死锁问题你不让,我也不让.ppt

文档介绍

文档介绍:*死锁问题* ——你不让,我也不让在多道程序系统中,多个进程并发运行,共享资源,从而提高了资源的利用率。但是若对资源的管理和使用不当,在一定条件下会导致系统发生一种随机性故障――死锁。在一些系统中,比如实时控制系统,系统一旦发生死锁将导致灾难性的后果。,以后又由Havender、Lyach等人研究并发展。(Deadlock):是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。称此时系统处于死锁状态或系统产生了死锁。称这些永远在互相等待的进程为死锁进程。所占用的资源或者需要它们进行某种合作的其它进程就会相继陷入死锁,最终可能导致整个系统处于瘫痪状态。计算机系统中,如果系统的资源分配策略不当,或者更常见的是程序员写的程序有错误等,则会导致进程因竞争资源不当(往往与进程的推进速度有关)而产生死锁的现象。在计算机系统中有很多独占性的资源,在任一时刻,它们都只能被一个进程使用。常见的有打印机、磁带驱动器等。例如:两个进程同时打印会引起打印混乱。鉴于此,操作系统全都具有授权一进程(临时)独占地访问某一种资源的能力。在很多情形中,需要一个进程独占地访问若干种资源而不是一种。例如:将一个大文件由磁带拷贝至打印机,进程需要同时访问磁带驱动器和打印机,并且不允许其他进程这时访问它们。在只有一个进程的系统中,该进程可以要求任何它所需要的资源,然后进行工作。但是,在一个多道程序系统中,就有可能出现严重的问题。A、B两个进程准备打印一个大的磁带文件ABR1R2打印机磁带机(1)竞争临界资源当系统中供多个进程共享的临界资源(如打印机、公用队列等)的数目不能满足诸进程的需要时,会引起诸进程对资源的竞争而产生死锁。(2)进程推进顺序不当进程在运行过程中,请求和释放资源的顺序不当,也同样会导致死锁的产生。一、:可剥夺和非剥夺性资源可剥夺性资源:CPU和主存例如:优先权高的程可以剥夺低优先权进程的处理机。又如:内存区可由存储器管理程序把进城从一个存储区移至另外一个存储区,即剥夺了该进城原来占有的存储区,甚至可以将一进程从内存调出到外存上。不可剥夺性资源:磁带机、打印机等当系统把这类资源分配给某进程后,再不能强行收回,只能在进程用完后自动释放。 两个进程分别准备打印一个非常大的磁带文件(双方都拥有部分资源,同时在请求对方已占有的资源。):打印机资源输入可顺序重复使用的资源。临时性资源:由一个进程产生,被另一个进程使用一短暂时间后便无用的资源。打印机R1磁带机R2P1P2二、进程推进顺序不当引起死锁资源少也未必一定产生死锁。就如同两个人过独木桥,如果两个人都要先过,在独木桥上僵持不肯后退,必然会因竞争资源产生死锁;但是,如果两个人上桥前先看一看有无对方的人在桥上,当无对方的人在桥上时自己才上桥,那么问题就解决了。所以,如果程序设计得不合理,造成进程推进的顺序不当,也会出现死锁。思考题:(北大95研)一个OS有20个进程,竞争使用65个同类资源,申请方式是逐个进行的,一旦某个进程获得它所需要的全部资源,则立即归还所有资源。每个进程最多使用三个资源。若仅考虑这类资源,该系统有无可能产生死锁,为什么?答:不可能。因为死锁产生的原因有两点:系统资源不足或推进顺序不当,在本题中,进程所需的最大资源数为60,而系统共有该类资源65个,其资源数已足够系统内各进程使用。