deadlock:死锁
死锁(deadlock)是多个进程循环等待它方占有的资源而无限期僵持下去的局面。例如,两人竞过独木桥,两车竞过单行桥等交通阻塞现象,原因是共享资源(道路)。 产生死锁的必要条件包括下面几个方面:互斥条件:都为独占性资源,一方占用就不释放;不可抢占条件:不能由申请方强夺。占有且申请条件:至少占有一资源,又申请新资源;循环等待条件:存在进程等待序列{p1,p2,…pn}循环等待。 只要打破四个必要条件之一就能有效预防死锁的发生:打破互斥条件:改造独占性资源为虚拟资源,大部分资源已无法改造。打破不可抢占条件:当一进程占有一独占性资源后又申请一独占性资源而无法满足,则退出原占有的资源。打破占有且申请条件:采用资源预先分配策略,即进程运行前申请全部资源,满足则远行,不然就等待,这样就不会占有且申请。打破循环等待条件:实现资源有序分配策略,对所有设备实现分类编号,所有进程只能采用按序号递增的形式申请资源。 死锁的避免如下:采取静态策略:对申请资源的活动加以限制,使不同时具备四个条件。采用动态策略:分配资源时,预测有无可能发生死锁,避免可能发生的死锁,不限制资源申请活动。安全序列:系统中的进程按照某一次序分配资源可以依次运行完毕,该次序为安全序列。存在安全序列时,一定不会有死锁发生,但即使进入不安全状态也未必一定死锁。
最近更新时间:2009-03-09 EN
相关推荐
-
Prakash NVIDIA在AI领域又做了哪些推动工作?
根据摩尔定律,晶体管的数量与计算能力成正比。经过50年的快速发展,如今的晶体管几乎无法变得更小,再想通过增加晶 […]
-
NVIDIA在AI领域又做了哪些推动工作?
在GTC上午的大会演讲中,黄仁勋共分享了NVIDIA在AI、VR、AI城市,还有自动驾驶、自主机器五个领域的布局。而这些都是挑战性非常高的领域。本文重点介绍NVIDIA在人工智能领域的成果。
-
NVIDIA:推动专业可视化未来发展 人工智能还远远不够
NVIDIA从四个方面推进设计行业的未来发展:人工智能、照片级写实、虚拟现实、仿真。来看NVIDIA在每个领域是如何发力的。
-
制定人工智能战略时 要考虑的三大趋势
Gartner:构建企业AI战略的第一步,是查看用户在个人生活中是如何访问应用的。最终目标? 实现AI的计算生态系统。