死锁

✍ dations ◷ 2025-11-19 12:59:54 #操作系统技术,协同控制,程式错误

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

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

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

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

死锁的四个条件是:

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

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

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

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

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

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

相关

  • 国家安全局美国国家安全局(英语:National Security Agency,缩写:NSA)是美国政府机构中最大的情报部门,专门负责收集和分析外国及本国通讯资料,隶属于美国国防部,是根据美国总统的命令成立的部
  • 教练教练是一种训练或发展的技术,教练者被称为“Coach”,协助学习者达成特殊的个人或专业目标。该学习者有时候又被称为“Coachee”。有时,“教练”也可被认为是一段两人间非正式的
  • 飞越疯人院《飞越疯人院》(英语:One Flew Over the Cuckoo's Nest),1975年上映的一部美国电影,第2部囊括五项奥斯卡至尊奖项的电影(至今共3部),世界电影艺术历史上最经典的美国巨著之一,被称为
  • 托马斯·罗兰森托马斯·罗兰森(Thomas Rowlandson /ˈroʊləndsən/;1756年7月13日-1827年4月21日)是一位英格兰漫画家,以其反映社会和政治问题的讽刺画知名。和维多利亚时代的大多数讽刺画家(
  • 1900年美国人口普查1900年美国人口普查(英语:1900 United States Census)是美国历史上第12次全国人口普查,确定了美国的常住人口为75,994,575人,相比1890年美国人口普查,同比增长为21.0%。1900年的人
  • 计算机文件计算机文件(或称文件、电脑档案、档案)是存储在某种长期储存设备或临时存储设备中的一段数据流,并且归属于计算机文件系统管理之下。所谓“长期储存设备”一般指磁盘、光盘、磁
  • 艾哈迈德·本·阿卜杜勒·阿齐兹艾哈迈德·本·阿卜杜勒·阿齐兹王子(阿拉伯语:احمد بن عبد العزيز آل سعود‎,1942年9月5日-)是沙地王朝一名王室成员,他从1975年至2012年担任沙特阿拉伯内
  • 平头猪属平头猪()是一属已灭绝的猪形动物。平头猪长约1米,比现今的野猪较长,它的脚长适合奔跑。它有像猪的鼻端,可以对抗掠食者的长獠牙。平头猪的消化系统非常复杂,较为像反刍亚目。平头
  • 岫岩陨石坑岫岩陨石坑位于中国辽宁省鞍山市岫岩满族自治县苏子沟镇古龙村,呈碗状,为简单撞击坑,直径1800米,坑平均深度150米,坑区岩石为20亿年前形成的早元古代变质岩。当地称为“圈里”。
  • 胁往还胁往还,又称“胁街道”、“胁道”,是日本江户时代五街道以外的主要陆路交通要道与支线,属勘定奉行所管辖。因为五街道的关所通关除了脱衣查验之外还要检查私处,而胁往还的通关则