道了可以把操作系统看作是银行家操作系统管理的资源相当于银行家管理的资金进程向操作系统请求分配资源相当于用户向银行家贷款。
为保证资金的安全银行家规定
f1当一个顾客对资金的最大需求量不超过银行家现有的资金时就可接纳该顾客
2顾客可以分期贷款但贷款的总数不能超过最大需求量
3当银行家现有的资金不能满足顾客尚需的贷款数额时对顾客的贷款可推迟支付但总能使顾客在有限的时间里得到贷款
4当顾客得到所需的全部资金后一定能在有限的时间里归还所有的资金
操作系统按照银行家制定的规则为进程分配资源当进程首次申请资源时要测试该进程对资源的最大需求量如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源否则就推迟分配。当进程在执行中继续申请资源时先测试该进程本次申请的资源数是否超过了该资源所剩余的总量。若超过则拒绝分配资源若能满足则按当前的申请量分配资源否则也要推迟分配。
这次的实验中还遇到一些问题在同学的帮助下一一解决了。
附录
i
cludeiostreamh
i
cludestri
gh
i
cludestdioh
defi
eFalse0
defi
eTrue1
i
tMax1001000各进程所需各类资源的最大需求
i
tAvaliable1000系统可用资源
char
ame1000资源的名称
i
tAllocatio
1001000系统已分配资源
i
tNeed1001000还需要资源
i
tRequest1000请求资源向量
i
ttemp1000存放安全序列
i
tWork1000存放系统可提供资源
i
tM100作业的最大数为100
i
tN100资源的最大数为100
voidshowdata显示资源矩阵
i
tij
cout