假设出现死锁,即若干进程相互等待对方占有的资源而无法继续执行。设这些进程为 P1,P2,…,Pn,它们分别占有资源 R1,R2,…,Rm。

由于每个进程只能申请大于已占有资源的资源,因此可以把这些进程按照它们已占有的资源的顺序排列,设它们的顺序为 P1<P2<…<Pn。

由于 P1 已经占有 R1,因此 P2 必须申请 R2 才能继续执行,以此类推,Pn 必须申请 Rm 才能继续执行。

但是由于 P1<P2<…<Pn,P1 不可能占有 P2 所需的资源 R2,因此 P2 也不能继续执行。同理,P3 也不能继续执行,以此类推,最终导致 Pn 无法继续执行,出现死锁。

由此可见,假设不成立,该操作系统不会发生死锁。

设某操作系统共管理着 m 种资源 R1R2…Rm系统为这些资源规定了顺序:R1R2…Rm。当系统中任一进程 Pk 占有资源 Ri 后Pk 只能申请大于 Ri 的资源 Rj 即RiRj。请证明该操作系统不会发生死锁。

原文地址: https://www.cveoy.top/t/topic/eGAe 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录