死锁

✍ dations ◷ 2024-12-22 19:35:43 #操作系统技术,协同控制,程式错误

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

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

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

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

死锁的四个条件是:

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

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

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

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

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

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

相关

  • 杀婴在生物学和社会学上来说,杀婴是某一物种意图令自己同种婴儿死亡的行动。在许多过去的社会里特定形式的杀婴被认为是适宜的,但大多数的现代社会却认为不道德或犯罪。虽然如此,这
  • 论元论元(Argument),也称行动元(Actant)、项,不及物动词主语也称变元,在句法学上指句子当中具有指称功能、强制补充谓语语义的名词性成分。这些谓语往往指的是动词(V)及其助动词;名词性成
  • 脑膜炎奈瑟菌脑膜炎双球菌(学名Neisseria meningitidis),又名脑膜炎奈瑟菌或脑脊髓膜炎双球菌,简称为脑膜炎球菌,是一种革兰氏阴性菌,因其所导致的脑膜炎而闻名,亦会造成脑膜炎球菌血症(一种致
  • 珀塞尔亨利·珀塞尔(英语:Henry Purcell,1659年9月10日-1695年11月21日),巴洛克时期的英格兰作曲家,吸收法国与意大利音乐的特点,创作出独特的英国巴洛克音乐风格。他被认为是英国最伟大的
  • 生理人常来人或生理人(他加禄语:Sangley;闽南语:.mw-parser-output .sans-serif{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Lato,"Helvetica Neue",Helvetica,
  • 1415年重要事件及趋势重要人物
  • 超面在几何学中,维面(Facet)又称为超面(hyperface)是指几何形状的组成元素中,比该几何形状所在维度少一个维度的元素。也是任何多胞形的边界。而若在维面前加一个整数则代表几何形状的
  • 科研订购局中国人民解放军军徽中央军委装备发展部科研订购局,位于北京市,是中央军委装备发展部下属局,负责科研订购工作。1998年4月3日,中央军委作出决定,组建中国人民解放军总装备部。1998
  • 二面体群其他有限群 对称群, 二面体群, 无限群 整数, Z 模群, PSL(2,Z) 和 SL(2,Z) G2 F4E6 E7E8 劳仑兹群 庞加莱群 环路群 量子群 O(∞) SU(∞) Sp(∞) 在数学中,二面体群
  • 东亚城市人口列表以下列出东亚的主要都市及其人口数:根据世界银行(World Bank)公布的“东亚都市景观变化”报告,2000年到2010年,东亚地区的都市人口新增近2亿人,东亚地区人口数超越10万的都会区已