安全状态
如果存在一个安全序列,那么系统处于安全状态。对于进程顺序<P1,P2,...,Pn>,有如下
Pi-need <= Pj-hold + All-available
则这一顺序为安全序列。可以保证所有进程按此顺序执行后,资源分配不会发生死锁。
银行家算法
·数据结构
1)可利用资源向量Available
是个含有m个元素的数组,其中的每一个元素代表一类可利用的资源数目。如果Available[j]=K,则表示系统中现有Rj类资源K个。
这也是一个n×m的矩阵,它定义了系统中每一类资源当前已分配给每一进程的资源数。如果Allocation[i,j]=K,则表示进程i当前已分得Rj类资源的 数目为K。
4)需求矩阵Need。
这也是一个n×m的矩阵,用以表示每一个进程尚需的各类资源数。如果Need[i,j]=K,则表示进程i还需要Rj类资源K个,方能完成其任务。Need[i,j]=Max[i,j]-Allocation[i,j]
5)采用一些符号
设X,Y是长度为n的数组,则X<=Y当且仅当对于所有i=1,2,3……n,X[i] <= Y[i]。
5)采用一些符号
设X,Y是长度为n的数组,则X<=Y当且仅当对于所有i=1,2,3……n,X[i] <= Y[i]。