死锁

✍ dations ◷ 2025-06-09 09:35:34 #操作系统技术,协同控制,程式错误

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

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

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

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

死锁的四个条件是:

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

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

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

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

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

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

相关

  • 纤毛纤毛(拉丁语:cilium,复数为cilia)是真核生物细胞的细胞器,是一种尾状的突出物,伸向细胞外大约5到10微米。支撑纤毛的亚显微结构是微管,微管连接在基体之上。 动物细胞利用纤毛拨动
  • 药品代谢动力学药物代谢动力学(英语:Pharmacokinetics),简称药代动力学或药动学,也简称为PK,是药理学的分支,研究药物在机体的影响下所发生的变化及其规律,其中的药物包括药剂、激素、营养素和毒素
  • Donna Strickland唐娜·西奥·斯特里克兰(英语:Donna Theo Strickland,1959年5月27日-),加拿大物理学家,是滑铁卢大学物理及天文学院的副教授,也是激光物理领域的先驱。她于2018年获得诺贝尔物理学奖
  • 加拉帕戈斯坐标:0°40′S 90°33′W / 0.667°S 90.550°W / -0.667; -90.550科隆群岛,又称加拉帕戈斯群岛(西班牙语:Islas Galápagos,官方名称Archipiélago de Colón),位于太平洋东部,接近
  • 国际空间站舱外活动列表国际空间站舱外活动是指在国际空间站中执行的太空行走。对国际空间站进行组装、修复、增添或拆除设备、进行实验等都可能需要航天员进行太空行走。在国际空间站的首次太空行
  • 阴道穹阴道穹(Fornix vaginae),亦作阴道穹隆,是女性内生殖器的一部分,位于阴道的尽头,包围着子宫颈。根据其位置,医学一般把阴道穹分为四个部分,分为前部、后部和两边侧部。一般医学用的阴
  • 人才竞争力人才竞争力是指在一定的时期内,某地区的人才在一定的人才投入条件下,在一定的人才环境中,通过创造性劳动而比其他地区人才取得更优、更多成果的能力。
  • 喇特那巴咱尔喇特那巴咱尔(1848年-1876年),清代蒙古旧土尔扈特贵族,第九任札萨克卓哩克图汗,策璘纳木札勒玄孙,那木济勒多尔济曾孙,玛哈巴咱尔子。咸丰二年(1852年)七月,父玛哈巴咱尔去世,喇特那巴咱
  • 本哈德·海默本哈德·海默( Bernhard Hammer,1822年3月3日-1907年4月6日)是一位瑞士政治家,瑞士联邦委员会委员(1875年-1890年)。他于1875年12月10日当选为联邦委员会委员,至1890年12月31日卸任
  • 苏州基督教新教基督教新教传入苏州最早可溯源于19世纪下半叶。1858年,美南监理会传教士从上海首次访问苏州。1860年,太平天国军攻占苏州以后,美国传教士高帝丕、花兰芷、赫威尔来苏,受到良好的