注意: 1. OS.jar为Java打包可执行文件 2. 由于时间,和界面空间问题,每个进程的资源拥有情况没有详细列明.如果要认真检查 程序的正确性,可以重新编译运行,然后查看Dos界 面下的输出.因为Dos界面下会输出 每个进程的资源情况(包括每个进程对每类资源的最大需求,分配情况,和所欠资源情况. 3. 资源设置中,进程设置应小于100个,资源类数应小于20个.
上传时间: 2015-02-28
上传用户:15071087253
.数据结构 假设有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,则表示安全;否则系统不安全。
上传时间: 2014-01-05
上传用户:moshushi0009
数据结构 假设有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,则表示安全;否则系统不安全。
上传时间: 2013-12-24
上传用户:alan-ee
加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。 要求编写和调试一个系统动态分配资源的简单模拟程序,观察死锁产生的条件,并采用银行家算法,有效的防止和避免死锁的发生。
上传时间: 2014-01-04
上传用户:lyy1234
银行家算法c语言的实现,该算法可检验进程的资源请求能不能被系统满足,并展示各种资源的分配情况,从而避免系统进入不安全状态。
上传时间: 2013-11-26
上传用户:kiklkook
银行家算法是一种避免进程死锁的算法。某一进程申请资源时,系统检测分配给它相应资源后系统是否处于安全状态。若处于安全状态,则实施分配;否则,不分配。 本实习要求学生掌握多资源银行家算法,理解它是如何避免死锁的。
上传时间: 2016-02-11
上传用户:凤临西北
设计一个n 个并发进程共享m 个系统资源的系统。进程可动态申请资源和释放资源,系统按各进程的申请动态的分配资源。要求采用银行家算法实现。
上传时间: 2014-01-12
上传用户:731140412
内存是计算机重要的资源之一,程序运行的过程中必须对内存进行分配。经典的内存分配过程是这样进行的
上传时间: 2014-11-11
上传用户:阿四AIR
C语言模拟实现银行家算法 进程提出资源请求时,先判断是否是合理的请求以及当前可利用的资源数能否满足它的请求,若能则假定分配给它,修改相应的数据结构,然后进行安全性算法检查,如果安全就满足进程的请求,将请求的资源分配给它,否则不能分配资源给它。
上传时间: 2017-06-27
上传用户:ynwbosss
银行家算法 主要是解决进程占用资源,以及如何分配资源,以及分配失败的原因
上传时间: 2017-09-01
上传用户:anng