死锁

✍ dations ◷ 2025-12-10 21:46:15 #操作系统技术,协同控制,程式错误

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

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

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

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

死锁的四个条件是:

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

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

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

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

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

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

相关

  • 电解质失衡电解质在生物体的自平衡维持上相当的重要。电解质可调节心臓及神经机能、输送氧气、维持体液平衡(英语:fluid balance)及酸碱平衡等。电解质的不平衡可能因为以下原因而产生:过
  • 皮加勒区皮加勒区(Pigalle)是巴黎环绕皮加勒广场的地区,位于巴黎第九区和巴黎十八区,得名于雕塑家让·巴蒂斯特·皮加勒(Jean-Baptiste Pigalle)。皮加勒是一个著名的观光区,皮加勒广场和主
  • 腐烂分解作用,又称腐烂、腐败,是指动物蛋白质及其有关之有机物分解成无机物,而且回到大自然物质循环的过程,特别是由缺氧微生物和腐化细菌。分解是一个大自然经常进行且非常重要的过
  • 1995年 福冈第十八届夏季世界大学生运动会于1995年8月23日至9月3日在日本福冈举行,这是日本第三次主办夏季世界大学生运动会,该届赛事共设12个大项。1 中华民国(台湾)因 中华人民共和国
  • 艾丽斯·芒罗艾丽斯·安·芒罗(英语:Alice Ann Munro,1931年7月10日-),或译艾莉丝·孟洛、爱丽丝·蒙若、爱丽丝·门罗,原姓莱德劳(Laidlaw),加拿大女作家,被誉为“加拿大的契诃夫”,三次获得加拿大
  • 电战机电子作战机(简称电战机)是专门执行电子战的军用飞机,主要有电子侦察机、电战支援机、电子干扰机等不同类型,电战机的研制与生产需要非常高的技术,目前仅有少数先进国家能自制。电
  • 伦敦佛教中心伦敦佛教中心(英语:London Buddhist Centre)是英国首都伦敦的佛教徒主要活动场所之一,位于伦敦东区贝思丽绿地区。1978年对外开放,其所在建筑物,之前是维多利亚时代的一个消防站,18
  • 足球经理2017《足球经理2017》(英语:Football Manager 2017)是Sports Interactive(英语:Sports Interactive)开发,世嘉发行的足球题材模拟经营游戏,2016年11月4日推出正式版。游戏的系列总监米尔
  • 饮食人类学饮食人类学 是人类学的一个分支学科,它将民族志和历史视角与当代食品生产和消费体系中的社会问题联系起来。虽然早期的人类学研究经常把烹饪和饮食作为仪式或日常生活的一部
  • 史蒂芬妮·麦克马洪史蒂芬妮·麦克马洪(英语:Stephanie McMahon,1976年9月24日-),全名为 史蒂芬妮·玛丽·麦克马洪-莱韦斯克(英语:Stephanie Marie McMahon-Levesque),是世界摔角娱乐(WWE)的执行副董事长(