死锁

✍ dations ◷ 2025-11-05 23:01:09 #操作系统技术,协同控制,程式错误

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

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

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

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

死锁的四个条件是:

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

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

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

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

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

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

相关

  • 联合国纪念活动联合国纪念活动,包括联合国国际日、国际周、国际年、国际十年和其他纪念活动,是为了来唤起国际社会对全球范围某个问题的兴趣或关注,从而推动相关问题的解决而在一段时间内举办
  • 地名地名即一个地区的名称。地名的形成,受该地的地理、历史、民族和语言所影响,是社会发展的产物。地名可被视为一种“活化石”,了解该地区的环境发展和变迁。地名一般可分为通名和
  • 恋制服恋制服是一种对于制服,例如学生运动服、学生制服、水手服、军服、护士服、警察制服、空中服务员制服、女仆服、童军制服、球衣等,甚至对在印刷品或者电子媒体上出现的制服图像
  • 撒哈拉大沙漠撒哈拉沙漠(阿拉伯语:الصحراء الكبرى‎,aṣ-Ṣaḥrāʾ al-Kubrā ,“大沙漠”)是世界最热的荒漠,亦是世界第三大荒漠,仅次于南极和北极,同时也是世界上最大的沙漠,其
  • 沉积作用沉降又称沉积、沉淀,是悬浮液的粒子下沉积聚的过程。原因可以是地心吸力、离心力或电磁力。在地理学,沉降通常是侵蚀作用的相反,亦即沉积物迁移的最终结果;过程包括跃移。不同大
  • 皮埃尔·莫瑞尔皮埃尔·莫瑞尔(英语:Pierre Morel,1964年5月12日-)是一位法国摄影师和导演,执导过较出名的作品如《暴力街区》(2004年)、《飓风营救》(2008年)和《间谍游戏巴黎》(2010年)。
  • 直流溅射在直流溅射中,在靶和待涂覆的基板之间施加几百伏的直流电压,因此它也被称为直流电压溅射。靶形成负电极,基板形成带正电电极。通过使用(例如,作为稀有气体的原子碰撞电离氩气)形成
  • 树林站 (台北捷运)树林站(正式名称未定)位于台灣新北市树林区,是万大中和树林线第二期工程(规划中)的捷运车站。位于新北市树林区树人家商旁,车站代码LG17预定为高架车站,侧式月台。
  • 手写识别手写识别(英语:Handwriting recognition)是计算机在纸、照片、触摸屏或其他设备中接收并识别人手写的文字等信息的技术,主要应用于光学字符识别(OCR)。离线手写识别涉及到将图像中
  • 轮叶珍珠茅轮叶珍珠茅(学名:)为莎草科珍珠茅属下的一个种。