死锁

✍ dations ◷ 2025-02-23 14:39:49 #操作系统技术,协同控制,程式错误

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

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

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

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

死锁的四个条件是:

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

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

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

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

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

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

相关

  • 各国人均烟草消费量列表本列表列出各国人均每年消费香烟数。全世界有超过11亿人吸烟。同时发达国家的烟民比例出现下降,但发展中国家的烟草消费量年均上升3.4%。大概有67%的男性和4%的女性吸烟。在
  • 数字信号数字信号(英语:Digital signal)可以有多重的含义。它可以用来表示已经数字化的离散时间信号,或者表示数字系统中的波形信号。数字信号是离散时间信号(Discrete-time signal)的数
  • FLRW度规罗伯逊-沃克度规(英语:Robertson-Walker metric)是H.P.罗伯逊和沃尔克分别于1935年和1936年证明的。由于俄国数学家弗里德曼和比利时物理学家勒梅特也作出了重要的贡献,因此也称
  • 浙江民泰商业银行浙江民泰商业银行位于浙江温岭市,前身是创建于于1988年5月的温岭城市信用社。2005年年末更名为浙江银泰城市信用社股份有限公司,2006年8月18日改为现名。主要的营业网点在温岭
  • 雨宫健雨宫健(日语:雨宮 健/あめみや たけし  ?,1935年3月29日-),是日本知名经济学家,专长为计量经济学,现任史丹佛大学名誉教授。计量经济学会 Fellow、美国统计协会会员、美国文理科学
  • 工业区位工业区位是指工厂设立的位置,用以降低成本、提高利润的因素。原料区位。原料具时效性、体积及重量过大或容易腐坏,工厂设置于原料产地附近以降低耗损。例如:糖厂、鱼罐头厂、水
  • 加拿大奥运广播媒体联盟加拿大奥运广播媒体联盟(英语:Canada's Olympic Broadcast Media Consortium)于2007年由加拿大广播媒体集团贝尔传媒和罗杰斯传媒成立,为两家集团旗下的广播媒体制作2010温哥华
  • 卡洛斯三世 (纳瓦拉)卡洛斯三世(西班牙语:,1361年出生于芒特,1425年9月8日逝世于奥利特),被尊称为“高贵的”,是纳瓦拉国王,他的统治时期是从1387年到1425年。从1387年到1404年他还是埃夫勒的伯爵,从1404
  • 翁大立翁大立(1517年-1597年),字元本,又字儒参、道生,号见海,浙江余姚(今宁波)人,明朝政治人物,进士出身。嘉靖十七年(1538年)戊戌科进士。授刑部广东司郎中。嘉靖二十七年(1548年)累官至山东左布
  • 第一次卡洛斯战争自由派胜利 卡洛斯主义者 自由派第一次卡洛斯战争是1833年至1840年发生于西班牙的内战 ,这是三场卡洛斯战争中的第一次。这场战争是因争夺西班牙君主王位和决定西班牙君主制