死锁

✍ dations ◷ 2025-07-01 14:16:54 #操作系统技术,协同控制,程式错误

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

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

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

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

死锁的四个条件是:

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

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

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

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

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

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

相关

  • 基因突变突变(英语:Mutation,即基因突变)在生物学上的含义,是指细胞中的遗传基因(通常指存在于细胞核中的去氧核糖核酸)发生的改变。它包括单个碱基改变所引起的点突变,或多个碱基的缺失、重
  • 多重宗教身份认同多重宗教身份认同提出一个人可同时属于多个宗教传统的概念。或许有些区域如亚洲早视此为正常现象,但不少宗教学者已开始讨论在不同宗教传统中,如华人民间信仰、犹太教、基督教
  • 面粉厂面粉厂,是第二产业的工厂,把小麦、大麦、皮麦、青稞(元麦)、黑麦、燕麦等粮食磨成粉,成品是面粉、麦粉等。在供应链上游是农作物供应商,而下游是面粉批发商人。
  • 孟买敏感指数孟买敏感指数(BSE SENSEX、 S&P Bombay Stock Exchange Sensitive Index)是印度孟买证券交易所的一个市场指数,包含30家来自不同行业的印度公司股票,是印度经济的风向标。该指数
  • 崔 鹏崔鹏(1957年8月7日-),陕西西安人,自然地理学与水土保持学家。1982年毕业于西北大学,1985年取得中国科学院成都地理研究所硕士学位,1990年取得北京林业大学博士学位。担任中国科学院
  • 双性别非二元性别(英语:Non-binary gender)、性别酷儿(英语:genderqueer)和X性别(日语:Xジェンダー)是指一系列不完全是男性或女性的性别认同,这些身份在男性或女性的分类以外。非二元性别可
  • 三齿驼蝶螺三齿驼蝶螺(学名:),是有壳翼足目驼蝶螺科的一种。主要分布于韩国、中国大陆、台湾,常栖息在浅海沙底。三齿驼蝶螺的分布极为广泛,包括地中海、大西洋(亚速尔群岛、佛得角与缅因湾)、
  • 172Girls172Girls,是以乐华娱乐、觉醒东方与酷漾娱乐推出的企划女团,成员包括:金子涵、曾可妮、刘令姿、戴燕妮 。2020年5月30日,《青春有你2》最终集直播,金子涵排名十一、曾可妮第十三
  • 吴宇卫吴宇卫(英语:George Young,1980年2月29日-)出生于英国伦敦的亚裔男性节目主持人、演员、作家。吴宇卫的父亲是马来西亚华人。吴宇卫曾在伦敦市完成律师实习,并成为一位合格的英格
  • 注册舞弊检查师注册舞弊检查师(英语:Certified Fraud Examiner,简称 CFE)是经过美国舞弊查核师协会(ACFE)认证的专业人士,在反欺诈及舞弊侦查领域,此认证的知名度最高。市面上已有超过80,000名受认