死锁

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

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

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

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

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

死锁的四个条件是:

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

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

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

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

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

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

相关

  • 心理药物学异常心理学 行为遗传学 生物心理学 心理药物学 认知心理学 比较心理学 跨文化心理学 文化心理学 差异心理学(英语:Differential psychology) 发展心理学 演化心理学 实验心理学
  • Vsub2/subOsub5/sub五氧化二钒,IUPAC名称为氧化钒(V),是钒(V)的氧化物,化学式为V2O5。它是一种有毒的橙黄色固体,微溶于水,加热时失去氧而分解。可作化学工业中的催化剂,最重要的是对硫酸工业中二氧
  • 鼠兔鼠兔科(学名 Ochotonidae)是兔形目下的一个科,有两个属,分别是意大利鼠兔属(Prolagus)和鼠兔属(Ochotona),然而也有部分书籍将意大利鼠兔属列为兔形目下的一个科。意大利鼠兔属下仅有
  • 芭丝特芭丝特(英语:Bastet)是埃及神话中猫首人身的女神。她的名字有时候也被拼为巴亚斯特(Baast),巫巴丝特(Ubaste)或巴斯特(Bast)。早在埃及第二王朝(公元前2890年)左右,她便开始受人崇拜,在上
  • 世界无烟草日世界无烟日(英语:World No Tobacco Day,或译世界无烟草日),是世界卫生组织在1987年创立的,现在每年的5月31日就是世界无烟日。第一个世界无烟日是1988年4月7日。世界无烟日的意义
  • 工作细胞《工作细胞》中文版单行本第1册封面《工作细胞》(日语:はたらく細胞)是清水茜所著的日本漫画作品,主要讲述经拟人化后人体内各种细胞于人体内的日常工作,例如负责物流作业(运送氧
  • 彭德清彭德清(1910年-1999年),福建同安县人,中国人民解放军将领、中华人民共和国政治人物、中华人民共和国交通部部长、中顾委委员。彭德清早年参加中国工农红军,在福建南部组建闽南红军
  • 台华轮台华轮是台湾本岛与澎湖之间的交通船,固定航线是高雄港和马公港,营运者是台湾航业。除了固定航班以外,但近年来台华轮也行驶高雄再经由马公通往厦门和小三通以及其他包船的航行
  • 第二次托伦和约第二次托伦和约(1466)签订于1466年十月19日,托伦。由波兰国王卡齐米日四世·雅盖隆契克与条顿骑士团签属的和平协定,标志着十三年战争的结束。在条约中,骑士团割让 Pomerelia(
  • 2016年莫斯科孩童斩首案莫斯科孩童斩首案(俄语:Убийство Анастасии Мещеряковой),是指发生于2016年2月29日,在俄罗斯首都莫斯科的一件命案。一名1977年生的乌兹别克斯坦女