死锁

✍ dations ◷ 2025-11-16 13:00:09 #操作系统技术,协同控制,程式错误

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

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

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

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

死锁的四个条件是:

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

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

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

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

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

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

相关

  • 炎黄炎黄是指汉族神话中的两个部落首领炎帝和黄帝,在诸多汉族或中国的史书及记录中的神话,这两个部落首领是在上古时期中原黄河流域形成汉族文明(或华夏文化)的起源或中国皇朝封建权
  • 魏晋魏晋南北朝(220年—589年),又称三国两晋南北朝,是中国历史上的一段长达三百多年的时期,朝代更迭速度快,存在有多个政权并存的局面,相当长的时间是南北对峙。这个时期由220年曹丕篡
  • 尸罗尸罗(梵文:śīla,巴利文:sīla),又音译为尸怛罗、翅怛罗,意译为戒,佛教术语,佛教戒律,为波罗密的一种,也是三无漏学之一。尸罗源自梵语,只要能够让人熄灭贪、瞋、痴等三毒,防止为恶,遵行
  • 最终解决德国问题条约最终解决德国问题条约(英语:The Treaty on the Final Settlement With Respect to Germany,法语:Traité portant règlement définitif concernant l'Allemagne,俄语:Догов
  • 何绍基何绍基(1799年-1873年),字子贞,湖南道州(今道县)人,道光十六年进士出身,晚清诗人、画家、书法家。号东洲,别号东洲居士,晚号蝯叟。其父亲是何凌汉,何凌汉曾在16岁时参加家乡道州州试考取
  • 紫草紫草(学名:Lithospermum erythrorhizon)又名藐、茈草(《尔雅》)、紫丹、紫芙(《神农本草经》)、鸦衔草(《本草纲目》)。 为紫草科紫草属的植物。分布于日本、朝鲜以及中国大陆的辽宁
  • 青岛黄海青岛黄海足球俱乐部是一家位于中国青岛市的足球俱乐部,前身是成立于2013年的青岛海牛足球俱乐部。球队在2013赛季首次参加中国足球乙级联赛,当赛季就以中乙冠军的身份“冲甲”
  • 胃 (脏腑)在中医学,胃为六腑之一,和五脏中的脾为表里。功能主要是受纳和腐熟水谷,因此有“水谷之海”(《灵枢·海论》)之称;饮食物经过胃而下送小肠,故胃以通降为顺;人体的气血、津液等为食
  • 汉斯·弗兰克汉斯·弗兰克(Hans Michael Frank,1900年5月23日-1946年10月16日)是1920年代至1930年代纳粹党专用辩护律师,后来成为纳粹德国领导人之一,曾担任波兰总督;德国二战投降后,纽伦堡大审
  • 埃马纽埃尔·勒鲁瓦·拉迪里埃马纽埃尔·勒鲁瓦·拉迪里(Emmanuel Le Roy Ladurie,1929年7月19日-)法国历史学家,主要研究旧制度(ancien regime)下的隆格多克,特别是农民史。