数据结构 假设有M个进程N类资源,则有如下数据结构: MAX[M*N] M个进程对N类资源的最大需求量 AVAILABLE[N] 系统可用资源数 ALLOCATION[M*N] M个进程已经得到N类资源的资源量 NEED[M*N] M个进程还需要N类资源的资源量 2.银行家算法 设进程I提出请求Request[N],则银行家算法按如下规则进行判断。 (1)如果Request[N]<=NEED[I,N],则转(2);否则,出错。 (2)如果Request[N]<=AVAILABLE,则转(3);否则,出错。 (3)系统试探分配资源,修改相关数据: AVAILABLE=AVAILABLE-REQUEST ALLOCATION=ALLOCATION+REQUEST NEED=NEED-REQUEST (4)系统执行安全性检查,如安全,则分配成立;否则试探险性分配作废,系统恢复原状,进程等待。 3.安全性检查 (1)设置两个工作向量WORK=AVAILABLE;FINISH[M]=FALSE (2)从进程集合中找到一个满足下述条件的进程, FINISH[i]=FALSE NEED<=WORK 如找到,执行(3);否则,执行(4) (3)设进程获得资源,可顺利执行,直至完成,从而释放资源。 WORK=WORK+ALLOCATION FINISH=TRUE GO TO 2 (4)如所有的进程Finish[M]=true,则表示安全;否则系统不安全。
资源简介:Joseph Ring 算法
上传时间: 2024-09-20
上传用户:xtoqm
资源简介:windows系统下用java开发的网络入侵检测程序
上传时间: 2024-09-20
上传用户:menglin330
资源简介:vc编程规范,比较详细的
上传时间: 2024-09-20
上传用户:sxmayd
资源简介:无线解码程序,是用于多种无线报警主机的解码
上传时间: 2024-09-20
上传用户:gordon_two
资源简介:16进制数转换成十进制
上传时间: 2024-09-20
上传用户:gupingdn
资源简介:数据结构课程设计 数据结构课程设计C语言版本
上传时间: 2024-09-20
上传用户:hehe6688
资源简介:学籍管理系统 系统是在VC++6.0和SQL Server 2000下开发的. 数据库在Database目录下,在SQLSERVER的查询分析器中执行即可生成数据库. 源程序在Src目录中. 因为程序极为经典,所以本人在此转载~ 一、编程环境: windows2000 +visual stdio c++ .net,Ado + SQ...
上传时间: 2024-09-20
上传用户:selenia123456
资源简介:发布java应用程序的同时发布jdk,然后可以通过这个小程序直接引导java应用程序,比用*.bat的批处理文件好看多了,没有那个讨厌的控制台窗口。【源代码,C++/C】
上传时间: 2024-09-20
上传用户:zhys