死锁

✍ dations ◷ 2025-12-10 09:28:17 #操作系统技术,协同控制,程式错误

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

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

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

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

死锁的四个条件是:

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

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

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

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

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

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

相关

  • 眼睛眼(亦称眼睛、目、目睭)是视觉的器官,可以感知光线,转换为神经中电化学的脉冲。比较复杂的眼睛是一个光学系统,可以收集周遭环境的光线,借由虹膜调整进入眼睛的强度,利用可调整的晶
  • 外生殖器生殖器官是指在复杂生物体上任何与有性繁殖及组成生殖系统有关的组织(严格意义上,不一定都属于器官)。另外有相关的性器官一词,广义地说是指会带来性快感的器官。生殖腺是指产生
  • 翼龙见翼龙目的分类翼龙目(学名:Pterosauria),希腊文意思为“有翼的蜥蜴”,是一个飞行爬行动物的演化支。翼龙类生存于三叠纪晚期到白垩纪末期,约2亿1,600万年前到6,600万年前。翼龙类
  • 沃克吕兹省沃克吕兹省(法语:Vaucluse)是法国普罗旺斯-阿尔卑斯-蓝色海岸大区所辖的省份。该省编号为84。它属于普罗旺斯-阿尔卑斯-蓝色海岸大区,位于法国的东南部,这个省的名字来自于沃克吕
  • 公共行政公共行政学(Public Administration),又称行政学。主要结合政治学和管理学为其理论基础。简言之,行政即是公务的推行、政府的管理,举凡政府机关或公务机构的业务,如何使之有效的加
  • 地台地台,又称为陆台(Platform),是大陆地壳的构造单元,是地壳上相对稳定的地区,直径可达数百至数千千米,是由地槽旋回转化形成的,基本由两层结构组成,下层为褶皱基底,由强烈褶皱和广泛变质
  • 华视新闻部本段时间均以二十四小时制东八区时间(UTC+8)为准。华视新闻(CTS NEWS)是中华电视公司(华视)新闻部制播的电视新闻节目总称,此一总称早在“中华电视台”时期即沿用至今。现今华视新
  • 看门狗新闻学看门狗新闻学(watchdog journalism)也称为监督新闻学,是指传播媒体告知大众有关社会以及政府组织的进展,特别是在社会大众中有关注特定议题,希望得到回应的情形。看门狗新闻学可
  • 亚历山大·夸黑亚历山大·夸黑(法语:Alexandre Koyré,英语:Alexander Koiré,1892年8月29日-1964年4月28日),生于俄罗斯帝国塔甘罗格,法国著名科学哲学家与科学史学家。他是第一个提出“科学革命”
  • BixbyBixby是由三星电子开发的虚拟助理软件。使用者可以使用自然的对话与手机进行互动,完成搜寻资料、查询天气等许多服务,部分非旗舰机无法启动语音助理。2018年8月9日,bixby2.0版