死锁

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

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

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

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

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

死锁的四个条件是:

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

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

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

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

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

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

相关

  • 伦敦政治经济学院Rerum cognoscere causas To know the causes of things (伦敦政治经济学院(英语:The London School of Economics and Political Science;缩写:LSE;简称:伦敦经济学院或伦敦政经
  • 王锡凡王锡凡(1936年5月-),中国电力系统专家。西安交通大学教授。生于安徽凤阳,原籍河北安平。1957年毕业于西安交通大学。2009年当选中国科学院院士。
  • 说书人评书,又称说书,湖北、广东粤语地区及闽南语地区称讲古,在四川称为讲书,古称说话,是中国东北、华北、 两广、湖广、四川一带一种口头讲说的表演形式,在宋代开始流行。各地的说书人
  • 东萨塞克斯东萨塞克斯(郡)(英语:East Sussex),英国英格兰东南部的郡,南临英吉利海峡。刘易斯是郡治。以人口计算,布赖顿-霍夫是第1大自治市镇(Borough),威尔登区是第2大自治市镇;布赖顿是第1大镇(To
  • 蒋英实蒋英实(1383年-1450年),是朝鲜王朝世宗时期一位著名的发明家。蒋英实天资聪明但出身低微为贱民。世宗的父亲朝鲜太宗发现蒋英实的才华后立即将其叫到宫中授予官职,并命其进行发明
  • 乔启明乔启明(1897年12月28日-1970年1月18日),字映东,山西猗氏人,中国农业经济学家。民国37年(1948年)在农会北区当选第一届立法委员。早年考入运城河东书院,完成学业后,考入山西大学预科。
  • 拉西拉西是一种起源于 印度次大陆的传统酸奶 它是酸奶、水、 香料 有时是水果混合而成。咸拉西与杜格酸奶类似,而 甜拉西和芒果拉西更像奶昔,迷幻拉西加入毒品大麻。甜拉西是一类
  • 帕里尼亚尔格帕里尼亚尔格(法语:Parignargues)是法国加尔省的一个市镇,位于该省中部偏西南,属于尼姆区。该市镇总面积11.01平方公里,2009年时的人口为604人。帕里尼亚尔格人口变化图示
  • 纠错内存修正错误存储器(英语:Error-Correcting Code memory,缩写:ECC memory或ECC)指能够实现错误检查和纠正错误技术的内存。在ECC技术出现之前,内存中应用最多的另外一种错误检查技术,是
  • 气旋帕万气旋风暴帕万(英语:Cyclonic Storm Pawan,联合台风警报中心编号:06A,印度气象局编号:ARB 05)是2019年北印度洋气旋季第8个热带气旋和第7个获命名的风暴。12月3日上午8时,联合台风警