死锁

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

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

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

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

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

死锁的四个条件是:

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

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

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

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

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

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

相关

  • 谷氨酰胺合成酶结构 / ECOD结构 / ECOD谷氨酰胺合成酶(英语:glutamine synthetase,GS)是一种控制氮代谢的酶。谷氨酰胺这种氨基酸,不仅被细胞用来合成蛋白质,也是用来运输氮的。自由的铵离子对生
  • 主神教主神教是另一邪教组织“被立王”派生的一个教派,系基督教新教地方教会运动变种组织。1998年被中华人民共和国政府宣布为邪教组织加以取缔。“主神教”教主刘家国,于1964年10月
  • 福尔摩沙卫星五号福尔摩沙卫星五号(英语:FORMOSAT-5,缩写为FS-5,简称福卫五号或福五)是台湾的太阳同步轨道卫星,亦为首个由台湾完全自主研发的光学遥测卫星及第四个自主拥有的人造卫星;属于中华民国
  • 劳动者劳动力可有以下含义:
  • 张家界市张家界市,旧称大庸,是中华人民共和国湖南省下辖的地级市,位于湖南省西北部。市境东临常德市,南达怀化市,西南界湘西州,西北接湖北省恩施州。地处武陵山脉腹地,地形以山地为主。石灰
  • 山麦冬属山麦冬属是天门冬科假叶树亚科中的一个属,它产于东亚,其植物类似草,开花。今天在温带一些种经常被用作园林植物。山麦冬属曾经被划为百合科,在被子植物APG II分类法 (修订版)中
  • 瓦氏效应瓦氏效应(英语:Warburg effect),被用于两个不相关生物化学的观测,一个在植物生理学中而另一个在肿瘤学中,都是由于诺贝尔奖获得者瓦尔堡所提出。在植物生理学中,瓦氏效应是指在高氧
  • 乔治·威廉王子乔治·威廉王子(英语:Prince George William,1717年11月13日-1718年2月17日),出生时是当时的威尔士乔治亲王和卡罗琳王妃的第五个孩子,也是他们的第二个儿子。他在3个月零4天时夭折
  • 欺诈偶像《欺诈偶像》(日语:さばドル)又译《鲭鱼偶像》,是东京电视台播放的日本电视剧(每周五24:53 - 25:23,JST),由渡边麻友主演。渡边麻友(AKB48)初次主演的电视剧。以渡边“实际年齢38歳而
  • 古鲁姆湖 (盐盘)古鲁姆湖(英语:Groom Lake)是一个位在内华达州的盐盘,目前用来作为内华达测试训练场(英语:Nevada Test and Training Range)机场的跑道,而这个机场就是51区。作为美国空军基地设施的