安全状态的例子.ppt

安全状态的例子.ppt

安全状态的例子 例:假定系统有三个进程P1、P2、P3,共有12台磁带机。进程P1总共要求10台磁带机,P2和P3分别要求4台和九台。设在T0时刻,进程P1、P2和P3已经获得5台、2台和2台,还有3台空闲没有分配。 虽然并非所有不安全状态都是死锁状态,但当系统进入不安全状态后,便有可能进入死锁状态;反之只要系统处于安全状态,系统便可避免进入死锁状态。因此,避免死锁的实质是如何使系统不进入不安全状态。 系统的状态可能通过下述来描述: 进程剩余申请数=最大申请数-占有数。 可分配资源数=总数-占有数之和。 银行家算法 银行家算法是最有代表性的避免死锁算法,是Dijkstra提出的银行家算法。这是由于该算法能用于银行系统现金贷款的发放而得名。为实现银行家算法,系统中必须设置若干数据结构。 一、银行家算法中的数据结构 1 可利用资源向量Available 是一个含有m个元素,其中的每一个元素代表一类可利用的资源数目,其初值是系统中所配置的该类全部可用资源数目。如果Available[j]=k,?表示系统中现有Rj类资源k个。 2 最大需求矩阵Max 是一个含有n?m的矩阵,它定义了系统中n个进程中的每一个进程对m类资源的最大需求。如果Max(i,j)=k,?表示进程i需要Rj类资源的最大数目为k。 3 分配矩阵Allocation 是一个含有n?m的矩阵

文档评论(0)

1亿VIP精品文档

相关文档