4.
1)如何设计程序的输入模块才能满足实验要求,请举例说明;
输入模块中Max矩阵、Allocation矩阵都是由系统rand()函数随机生成的,其中Max矩阵生成的数我设置为0~9,这个可以自行设置,但是Allocation矩阵的随机输入必须低于Max矩阵中对应的数字,不然会导致安全性问题,Need矩阵=Max矩阵-Allocation矩阵
2)银行家算法在实现过程中必须注意哪些资源分配细节才能避免死锁?
当收到系统随机生成的请求后
1、判断是否低于该进程的最大还需资源量(即小于Need矩阵中对应的资源量)
2、判断系统的剩余资源量是否满足请求量
3、若满足以上两个条件,则系统尝试分配资源,然后进行安全性检查,如果存在发生死锁的可能,则回滚已分配的资源,该进程的资源请求必须阻塞等待