死锁

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

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

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

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

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

死锁的四个条件是:

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

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

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

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

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

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

相关

  • 纸板纸板是一种纸类的通称。多数类型的“纸板”均可回收。干净(即未被加上化学物涂层)的纸板通常值得回收,但与加工成本相比,回收后价值甚微。重用后的纸板可作工业或家居用,例如切碎
  • 有经者有经者(阿拉伯语:اهل الكتاب;希伯来语:עם הספר)各个宗教定义不同,犹太教的“有经者”只限犹太人自身。在伊斯兰教指的是受启示者,常指亚伯拉罕诸教的信徒,包括犹太人
  • 大液泡液泡(拉丁语:vacuolum、 法语、英语、荷兰语:vacuole、 德语:vakuole),又称为液泡,是一种囊状的单层膜细胞器,其中含有细胞液,为酸性环境。液泡的作用在于存储并降解细胞中的废物和有
  • 失落的10年日本经济在经历一段时间高速发展之后,从20世纪90年代开始面临一系列严峻的经济问题:诸如经济空洞化、经济泡沫破裂、劳动力不足等。经济学界将日本的一些经济问题称之为“日本
  • 赫鲁晓夫解冻苏联主题赫鲁晓夫解冻(俄语:хрущёвская о́ттепель,转写:khrushchovskaya ottepel)指因苏共中央第一书记尼基塔·赫鲁晓夫在1950年代中期到1960年代实行去斯大
  • 海军少将少将是军队的军衔,中将以下准将或上校或大校以上的一阶,在有大校的国家中,少将为将官最初阶。在有的国家中,准将是将官中最初阶,少将则是两颗星。根据国家不同,少将为将官中的第三
  • 2019年被中华人民共和国处决的死刑犯列表2019年被中华人民共和国处决的死刑犯列表,旨在列出2019年被中华人民共和国处决的死刑犯。
  • 阿部正精阿部正精(あべ まさきよ、安永3年12月24日(1775年1月25日) - 文政9年6月20日(1826年7月24日)),江户时代后期大名。备后福山藩第5代藩主。于江户幕府幕阁中任老中。阿部宗家9代。阿
  • 长谷川清长谷川清(1883年5月7日-1970年9月2日),大日本帝国海军将官。最终阶级正三位、勋一等、功一级,海军大将。福井县福井市出身。台湾日治时期第18任总督。1903年12月14日于海军兵学校
  • 丁宗宪丁宗宪(1904年 - ?),号仲章,山西解县人,为黄埔陆军军官学校第四期步科毕业生。曾任河北省保安旅第三旅旅长、第一一一军第三二〇师师长、第二十五军副军长兼第二六二师师长等职。1