死锁

✍ dations ◷ 2025-11-30 18:24:24 #操作系统技术,协同控制,程式错误

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

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

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

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

死锁的四个条件是:

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

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

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

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

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

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

相关

  • 物理学原子核物理学(简称核物理学,核物理或核子物理)是研究原子核成分和相互作用的物理学领域。它主要有三大领域:研究各类亚原子粒子与它们之间的关系、分类与分析原子核的结构并带动
  • 祝由十三科祝由十三科,又称祝由科、祝由术,是古代医术的流派,即“祝说病由”,不需用针灸或药来治病。祝由科,自元代即列入太医院十三科。祝由二字,最早见于医书《素问》,谓上古之人治病,不用打
  • 华佗华佗(145年?-208年),字元化,幼名旉,沛国谯县(今安徽亳州市)人,东汉末年的方士、医师。华佗与董奉和张仲景被并称为“建安三神医”。与扁鹊、张仲景及李时珍并称中国古代四大名医。《后
  • 约翰·布罗德斯·华生约翰·布罗德斯·华生(英语:John B. Watson,1878年1月9日-1958年9月25日)是一位美国心理学家,通过动物行为研究而创立了心理学行为主义学派,强调心理学是以客观的态度去研究外在可
  • 经尿道前列腺切除术经尿道前列腺切除术英文为Transurethral resection of the prostate,简称TURP。这是一种泌尿外科的手术,用来治疗良性前列腺增生症,而前列腺也称为摄护腺,是男性特有的器官。顾
  • 六边形在几何学中,六边形是指有六条边和六个顶点的多边形,其内角和为720度。六边形有很多种,其中对称性最高的是正六边形。正六边形是一种可以使用尺规作图的六边形,也可以拼满平面,因
  • 乐毅乐毅(?-?),燕国著名军事家,辅佐燕昭王,曾攻下齐国70余城而封昌国君,后获赵国封望诸君。与管仲齐名,是东周战国时期法家重要代表人物之一。魏国名将乐羊后代。乐羊葬于中山国灵寿(属今河
  • 龙岩市龙岩市(闽南语白话字:Lêng-nâ-chhī;客语白话字:Liùng-ngâm-sṳ),通称闽西,是中华人民共和国福建省下辖的地级市,位于福建省西南部。市境北接三明市,东达泉州市,东南界漳州市,西南
  • 东湖区东湖区是中国江西省南昌市的一个市辖区。总面积为22.3平方公里,2003年人口为44.4万。 2015年到2016年初区政府陆续搬迁到三经路附近。2013年,东湖区辖10个街道:
  • 斑袋貂斑袋貂(),又名短尾斑袋貂,是分布在澳洲及新畿内亚的一种有袋类。当地人常将它们作为宠物,并将其称为卡斯卡斯(Cuscus),而它的皮毛也常会被当地部落人们用于传统服饰的制作之中。同