死锁

✍ dations ◷ 2025-12-08 11:27:36 #操作系统技术,协同控制,程式错误

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

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

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

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

死锁的四个条件是:

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

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

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

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

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

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

相关

  • 社交网站多数社交网路会提供多种让用户交互起来的方式 ,可以为聊天、寄信、影音、文件分享、博客、新闻组等。社交网路为信息的交流与分享提供了新的途径。作为社交网路的网站一般会
  • 理论地理学理论地理学是关于地理现象和地理过程的模式的学说,它从机理角度阐述地理现象的发生、发展和演变。最初的理论地理学关心的是关于地理分布形态的一些数学分析,现代理论地理学注
  • 仁爱医疗社团法人仁爱医院仁爱医院社团法人仁爱医院,是台南市的地区医院,1986年创立至今。
  • 垓升垓升,是容量计量单位,符号为TL。垓升本身不是国际单位制(SI)单位,而是接受与SI合并使用的非SI单位。立方尧米、立方佑米(Ym3) 立方泽米、立方皆米(Zm3) 立方艾米(Em3) 立方拍米(Pm3
  • 沂源猿人沂源人(学名:Homo erectus Yiyuanensis)是中国的直立人化石。通常称作沂源猿人,学名直立人沂源亚种。生活的时代是更新世中期,距今约40-50万年前。北京大学文博学院教授、旧石器
  • VDAC12JK4、​2K4T741622333ENSG00000213585ENSMUSG00000020402P21796Q60932XM_005272075、NM_003374、NR_036624、NR_036625、XM_017009821、XM_017009822、XM_017009823NM_0116
  • 市道181号市道181号 月眉-高树,是位于台湾高雄市、屏东县两县市之间的南北向县道。北起高雄市杉林区月眉,南至屏东县高树乡,全长共计19.752公里(公路总局资料)。今日列表・1961年列表 注:灰
  • 戴维·查尔莫斯戴维·查尔莫斯(英语:David John Chalmers,/ˈtʃælmərz/),1966年4月20日生,澳大利亚哲学家和认知科学家,关注心灵哲学和语言哲学领域。他是澳大利亚国立大学教授,也是纽约大学(和
  • 埃塞俄比亚地理埃塞俄比亚位于非洲之角地区,在北部和东北部和厄立特里亚接壤,在东部和吉布提及索马里接壤,在北部和肯尼亚接壤,在西北和苏丹接壤,在西南和南苏丹接壤。 埃塞俄比亚高原较多,最高
  • 我知道你去年夏天干了什么《我知道你去年夏天干了什么》(英语:),是1997年吉姆·格莱斯皮执导的美国砍杀电影,取材于钩子人的都市传说,根据露易丝·邓肯(英语:Lois Duncan)1973年同名小说改编而来。故事始于199