死锁

✍ dations ◷ 2025-12-11 06:06:27 #操作系统技术,协同控制,程式错误

死锁(英语:Deadlock),又译为死结,计算机科学名词。当两个以上的运算单元,双方都在等待对方停止运行,以获取系统资源,但是没有一方提前退出时,就称为死锁。在多任务操作系统中,操作系统为了协调不同行程,能否获取系统资源时,为了让系统运作,必须要解决这个问题。

这里指的是进程死锁,是个计算机技术名词。它是操作系统或软件运行的一种状态:在多任务系统下,当一个或多个进程等待系统资源,而资源又被进程本身或其他进程占用时,就形成了死锁。有个变种叫活锁。

例如,一个进程 p1占用了显示器,同时又必须使用打印机,而打印机被进程p2占用,p2又必须使用显示器,这样就形成了死锁。因为p1必须等待p2发布打印机才能够完成工作并发布屏幕,同时p2也必须等待p1发布显示器才能完成工作并发布打印机,形成循环等待的死锁。

如果系统中只有一个进程,当然不会产生死锁。如果每个进程仅需求一种系统资源,也不会产生死锁。不过这只是理想状态,在现实中是可遇不可求的。

死锁的四个条件是:

死锁只有在四个条件同时满足时发生,预防死锁必须至少破坏其中一项。

我们也可以尝试回避死锁。因为在理论上,死锁总是可能产生的,所以操作系统尝试监视所有进程,使其没有死锁。

最简单的消除死锁的办法是重启系统。更好的办法是终止一个进程的运行。

同样也可以把一个或多个进程回滚到先前的某个状态。如果一个进程被多次回滚,迟迟不能占用必需的系统资源,可能会导致资源匮乏(英语:Starvation (computer science))。

活锁(Livelock),与死锁相似,死锁是行程都在等待对方先释放资源;活锁则是行程彼此释放资源又同时占用对方释放的资源,当此情况持续发生时,尽管资源的状态不断改变,但每个行程都无法获取所需资源,使得事情没有任何进展。

假设两人正好面对面碰上对方:

相关

  • 斯涅尔定律当光波从一种介质传播到另一种具有不同折射率的介质时,会发生折射现象,其入射角与折射角之间的关系,可以用斯涅尔定律(Snell's Law)来描述。斯涅尔定律是因荷兰物理学家威理博·
  • 东南极克拉通东南极克拉通(英语:East Antarctic craton)是一个古老的克拉通,形成今日南极洲的大部分。18亿年前东南极克拉通是妮娜大陆的一部分。在古生代早期东南极克拉通是冈瓦纳大陆的一
  • 勃林格殷格翰勃林格殷格翰(德语:Boehringer-Ingelheim, BI),是一家德国制药公司,致力于研发、制造及推广各种创新药品。它的总公司位于德国殷格翰,在全球设有146个分公司和超过47,700名员工,根据
  • 独活独活是伞形科独活属部分植物的干燥根,其中根部可作独活的品种包括川独活(重齿毛当归,学名Angelica pubescens)。
  • 诺福克轻轨诺福克轻轨(英语:Tide Light Rail,可直译为“海浪轻轨”),是在美国弗吉尼亚州诺福克地区由汉普顿锚地交通局运营的一个轻轨系统。该系统只有一条线路,11个车站,总长7.4英里(11.91千
  • 查塔胡其-奥康尼国家森林查塔胡其-奥康尼国家森林(英语:Chattahoochee-Oconee National Forest)是美国的一处国家森林,1936年7月9日建立,位处佐治亚州,总占地面积866,468英亩(3,506.47平方千米),最近的城市为
  • 冬季风暴作战波罗的海 – 黑海 – 北极 – (跳马 – PQ-17船团 – ) 1941年巴巴罗萨 – (比亚韦斯托克及明斯克 – 斯摩棱斯克 – 乌曼 – 列宁格勒 – 第一次基辅 – 塞瓦斯托波尔围城
  • 锺金玉锺金玉(1983年4月5日-),出生于广东武华,中国足球运动员,曾随中国队全程观摩2004年夏季奥运会女子足球比赛。
  • 阿席熙阿席熙(满语:ᠠᠰᡳᡥᡳ,穆麟德:;?-1681年),瓜尔佳氏。满洲镶红旗人。清朝官员。康熙十二年(1673年)六月接替麻勒吉担任两江总督。另外,1674年8月起,该官职仅辖江南两省。江西总督由董卫
  • 陈端堂陈端堂(1920年7月23日-2005年9月28日),医师、政治人物,毕业于日本大阪帝国大学医学部,曾担任省立台中医院外科主任、颖川外科医院院长,1973年至1977年出任台中市市长。中国国民党籍