死锁

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

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

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

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

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

死锁的四个条件是:

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

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

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

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

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

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

相关

  • 新字体陶文 ‧ 甲骨文 ‧ 金文 ‧ 古文 ‧ 石鼓文籀文 ‧ 鸟虫书 ‧ 篆书(大篆 ‧  小篆)隶书 ‧ 楷书 ‧ 行书 ‧ 草书漆书 ‧  书法 ‧ 飞白书笔画 ‧ 
  • 植牙植牙(英语:Dental implant)是一门以人工牙根安装假牙以弥补缺齿的牙齿修复技术。人工牙根又称为植体,植体会透过手术置入于缺齿位置的牙槽骨内,植体用作代替自然牙的牙根成为安装
  • 阿尔及尔阿尔及尔(阿拉伯语:الجزائر‎;法语:Alger,柏柏尔语:ⴷⵣⴰⵢⴻⵔ)为阿尔及利亚首都及海港。现有人口三百万,大约占阿尔及利亚全国人口的十分之一。位于法国马赛西南805公里,北
  • 吉萨省吉萨省(阿拉伯语:محافظة الجيزة‎),是埃及的一个省,位于该国北部尼罗河三角洲南角,伸入西部沙漠区的拜哈里耶绿洲。首府为吉萨。面积85,105平方公里,人口6,272,571人(20
  • 美国地理学家协会美国地理学家协会(英文:American Association of Geographers)是一个非营利的科学教育学会,成立于1904年,致力于提高对地理学及相关领域的理解、研究和重要性。其总部位于美国华
  • 韦尔瓦韦尔瓦(西班牙语:Huelva,西班牙语发音:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","Code2000","Gent
  • 异特龙属可疑物种异特龙属(属名:)又称异龙或跃龙,是兽脚亚目肉食龙下目恐龙的一属。异特龙是种大型的二足、掠食性恐龙,平均身长为8.5米,最长可达12到13米。它们生存于晚侏罗纪的启莫里阶
  • GLAMGLAM(韩语:글램)是韩国Big Hit娱乐与Source Music公司联手打造于2012年推出的女子团体。成员由李智妍、Zinni、多喜、美笑组成,四人皆拥有与生俱来的歌唱、舞蹈及乐器等方面的天
  • 卡氏地图龟卡氏地图龟(学名:,英文:Cagle's map turtle)是地图龟属下的一种龟,只生活在美国及墨西哥。其种加词是为了纪念美国爬虫学家弗雷德·雷·卡格尔(Dr. Fred Ray Cagle,1915-1968)。卡氏
  • 四维加速度在相对论中,四维加速度是牛顿力学中三维加速度的对应推广,其为一个四维矢量。四维加速度应用于反质子湮灭反应、奇异粒子共振、加速电荷的辐射现象等研究领域中。在狭义相对论