死锁

✍ dations ◷ 2025-10-16 03:25:07 #操作系统技术,协同控制,程式错误

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

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

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

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

死锁的四个条件是:

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

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

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

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

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

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

相关

  • 被动吸烟二手烟,亦称非自愿性吸烟,是指在吸取燃点烟草时随着烟雾释放出来的物质,是一种被动吸烟(Passive smoking)方式有研究指二手烟有焦油、阿摩尼亚、尼古丁、悬浮微粒、超细悬浮微粒
  • 重金属重金属有许多种不同的定义。在科学界常见的一种定义是密度大于5的金属,大多数金属都是重金属。重金属的化学性质一般上较为稳定。在冶金工业中,有色金属不只依照密度,也会依其
  • 油粒体油粒体(英语:elaioplast, elioplast),又称油质体、造油体,是植物细胞中的一种质粒体,属于白色体,其主要功能为储存和合成脂质。油粒体的英文名称elaioplast来自古希腊文的ἔλαι
  • 变焦镜头变焦镜头(英语:zoom lens)指可以改变焦距的镜头,光圈有些会随变焦增加而缩小这些镜头被称为“变光圈镜头”,这些镜头称为“恒定光圈镜头”。因其快速拉近或拉远,能立即改变构图,以
  • 2019冠状病毒病摩纳哥疫情2019冠状病毒病摩纳哥疫情,介绍在2019新型冠状病毒疫情中,在摩纳哥发生的情况。2020年2月28日,摩纳哥确诊首例新冠肺炎病例,已被隔离,将送往法国尼斯治疗。3月12日,摩纳哥确诊第2
  • 弗拉基米尔·雅可夫列维奇·普罗普弗拉基米尔·普罗普(俄语:Владимир Яковлевич Пропп; 1895年4月29日(儒略历1895年4月17日)-1970年8月22日)是苏联的一位文学结构主义学者,出生于俄罗斯圣彼
  • 何四维何四维(荷兰语:Anthony Francois Paulus Hulsewé,1910年1月31日-1993年12月16日),荷兰汉学家、学者、教育者和作家,以研究中国古代律法闻名,尤其是汉朝(公元前220年-公元206年)。何四
  • 刘敦桢刘敦桢(1897年9月19日-1968年5月10日),字士能,号大壮室主人,湖南新宁人,中国建筑学家,建筑史学家,建筑教育家,中国建筑史学的开拓者,中国古建筑研究领域的先驱者,中国现代建筑学的重要奠
  • 方若望方若望(Bishop Emmanuel-Jean-François Verrolles, M.E.P.1805年4月12日-1878年4月29日),天主教满洲宗座代牧区首任主教,巴黎外方传教会会士。1805年4月12日,方若望出生在法国Ven
  • 许庚身许庚身(1825年-1893年),字星叔,号吉珊,浙江钱塘县(今属杭州市)人。晚清重臣,崇尚天文、算术、舆地诸学。咸丰二年(1852年)举人,考取内阁中书。同治元年(1862年),以在任官员的身份中进士,任内