如何预防系统进程死锁具体该怎么操作

时间:2023-09-14 21:25:59 

预防死锁的根本办法就是要使死锁产生的4个必要条件之一不存在,那么如何破坏这些条件,下面为大家介绍下有哪些可能性预防死锁的根本办法就是要使死锁产生的4个必要条件之一不存在。下面来分析一下破坏这些条件的可能性。

破坏互斥条件

破坏互斥条件即允许多个进程同时访问资源。由于多数资源的必须互斥访问这一固有特性不能改变,因此,死锁的预防通过破坏这个必要条件实现在很多场合是行不通的。例如,打印机资源必须互斥使用,否则几个进程同时使用,每个进程各打印一行,这种输出信息的方式显然是不能被用户接受的。

破坏占有和等待条件

采用资源静态分配法可破坏这一条件,该方法是指在进程运行前,一次性地_请分配它运行所需的全部资源。若系统有足够的资源分配给某一进程,则一次性地将其所需资源分配给该进程,这样,在进程运行期间便不会再提出任何资源请求,从而使等待条件不成立。如果分配时有一种资源要求不能满足,则进程需要的其他资源也先不分配给进程,从而避免进程在等待期间占用任何资源,破坏了占用条件,从而避免死锁的发生。

该方法控制简单且容易实现,但由于进程运行期间对所需资源的全部占用,使得某些使用时间很短的资源被长时间占用,这样会严重影响系统资源的充分利用,导致资源利用率降低,同吋也影响到未获得全部资源的进程推迟运行。

破坏不剥夺条件

采用剥夺式控制方法可以破坏该条件,该方法是使一个已保持了某些资源的进程,由于新的资源要求目前得不到满足,它必须先暂时释放巳保持的所有资源(一种剥夺式),然后去等待,以后再一起向系统提出巾请,这样也能防止死锁。这种方法实现起来相对W难,为了保护进程自动放弃资源的现场以及后来的再次恢复,需要付出高昂的代价,并且这种方法只适用于处理机和存储器资源,对其他资源,此法不宜使用。

破坏循环等待条件

采用资源顺序分配法可破坏该条件。这种分配方法的基本思想是:把系统的全部资源分成多个层次,一个进程得到某一层的一个资源后,它只能再_请较高一层的资源;当一个进程要释放某层的一个资源时,必须先释放所占有的较高层的资源;当一个进程获得了某一层的一个资源后,它想再申请该层中的另一个资源,就必须先释放在该层中巳占有的资源。或者说,进程释放资源的顺序是按照中请资源的相反顺序进行的。这样可以预防循环等待现象的发生,因此不会发生死锁。使用该方法要特別注意的问题是对资源所处层次的安排。在通常情况下,把各进程经常用到的、比较普遍的资源安排在较低的层次上,把重要且相对匮乏的资源安排在较高的层次上,以便实现对各资源的最大限度的利用。该方法相对于前面介绍的方法,在资源利用率和系统吞吐量上都有明显的改善。但也存在一些缺陷。

(1)低层次的资源必须在进程请求分配髙层次的资源之前提前申请,这对于暂时不需使用的低层次资源来说,会因空闲等待而产生浪费。

(2)各类设备的资源层次一经设定,便不能经常随意改动,这就限制了新类型设备的增加。

(3)各资源的层次是按照大多数进程使用资源的顺序设置的。对于资源使用与此层次相闪配的进程,资源能得到有效的利用,否则,资源的浪费现象将仍然存在。

标签:进程死锁
0
投稿

猜你喜欢

  • 如何直接解压提取PowerPoint2007中的图片

    2023-06-09 13:10:27
  • Windows Server 2008R2遗忘密码怎么办

    2022-08-29 17:29:03
  • Pixelmator Pro 教程「133」,如何在 Pixelmator Pro 中应用​散景效果?

    2022-08-07 16:01:22
  • Wps2019怎么设置打印页码的位置?

    2023-04-05 09:51:54
  • 如何对齐Word文档里的小数点

    2023-11-27 22:06:08
  • 继Win10正式版后,Win10 Mobile开发人员将重新分配

    2022-06-26 20:20:33
  • 电子印章生成器里的章盖怎么盖到文件上?

    2022-07-01 21:23:03
  • Win7进入网址192.168.1.1路由器设置密码的解决方法

    2023-05-19 14:42:06
  • 小编教你U盘装系统步骤

    2023-10-18 16:46:46
  • Win10电脑怎么开启护眼模式?

    2023-01-19 22:38:55
  • 无法利用数字小键盘输入小数点

    2023-10-11 08:49:56
  • Win10怎么使用Dism命令修复受损文件?Win10使用Dism命令修复受损文件的方法

    2023-02-01 16:31:35
  • wps vba怎么安装?

    2022-11-15 12:29:08
  • 怎么让excel表格首行或首列固定不动?

    2022-07-04 14:29:21
  • Excel 2010缺失solver.xla怎么办?Excel加载xla文件的操作方法

    2022-07-19 12:06:53
  • 关于Win 7中文件关联和打开方式的问题

    2023-06-06 08:12:14
  • Win11安卓子系统virtwifi无法联网怎么办?

    2023-07-01 19:59:45
  • edge浏览器怎么导出书签?edge浏览器导出书签的方法

    2023-09-30 20:42:19
  • ​电脑版WPS演示文稿怎么添加自定义路径动画

    2022-01-20 15:47:17
  • Excel中制作简单乘法表的操作方法

    2022-09-05 16:07:29
  • asp之家 电脑教程 m.aspxhome.com