死锁

✍ dations ◷ 2025-07-21 18:06:06 #操作系统技术,协同控制,程式错误

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

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

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

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

死锁的四个条件是:

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

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

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

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

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

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

相关

  • 好氧细菌专性需氧微生物(英语:obligate aerobe)是一类在有氧条件下才能存活的微生物。这类生物通过有氧呼吸将糖类或脂肪转化为其生活所需的能量,在其呼吸中,氧被用作电子传输链的末端电
  • 路易十五路易十五(法语:Louis XVI;(1710年2月15日-1774年5月10日),被称作被喜爱者(法语:法语:le Bien-Aimé),作为法国国王在1715年—1774年期间执政。他神奇地延续着整个濒死的家庭,他执政的早期
  • 死亡比率这是一个各国或地区一年中因枪支引发的每10万人死亡比率列表。发达国家或地区列表(人均国民总收入超过15,000美金的国家或地区)。(俄罗斯2005年的人均国民总收入是10,640美
  • 离散概率概率分布(德语:Wahrscheinlichkeitsverteilung;英语:probability distribution)或简称分布,是概率论的一个概念。使用时可以有以下两种含义:称X和Y为同分布的随机变量,当且仅当对任
  • 大柴胡汤大柴胡汤出自《伤寒论》柴胡半斤 黄芩三两 半夏半升 芍药三两 枳实四枚,炙 大黄二两 生姜五两,切 大枣十二枚,擘上八味,以水一斗二升,煮取六升,去滓再煎,温服一升,日三服。少
  • 克里克人克里克人可以指:
  • 安东尼奥·萨拉查安东尼奥·德·奥利维拉·萨拉查(葡萄牙语:António de Oliveira Salazar;1889年4月28日-1970年7月27日),葡萄牙总理、葡萄牙总统,葡萄牙迄今为止任职时间最长的总理,统治长达36年,实
  • 默莉·顾斯劳默莉·顾斯劳(印尼语:Melly Goeslaw,1974年1月7日-),本名Mellyana Goeslaw Hoed,印尼创作型女歌手,曾演唱Gantung等歌曲。
  • 乐高漫威超级英雄《乐高 漫威超级英雄》(英语:LEGO Marvel Super Heroes,港台译作“乐高:惊奇超级英雄”)是一款由TT Games工作室开发并将由华纳兄弟互动娱乐发售在全平台上的乐高题材和美国漫画
  • VF-1女武神VF-1女武神(Valkyrie)是日本科幻战争动画《超时空要塞》及其美国改编版《太空堡垒》的第一部《麦可罗斯传奇》中地球统合军第一种采用的热核引擎的可变型战斗机,也是动画中第一