1 / 15
文档名称:

操作系统_银行家算法实验报告资料.doc

格式:doc   页数:15页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

操作系统_银行家算法实验报告资料.doc

上传人:分享精品 2016/5/2 文件大小:0 KB

下载得到文件列表

操作系统_银行家算法实验报告资料.doc

相关文档

文档介绍

文档介绍:《计算机操作系统》课程设计题目银行家算法分析学院计算机与软件学院专业计算机科学与技术班级学号姓名指导教师起止时间 2 一、算法综述银行家算法:在进程向系统提出资源分配请求时,算法会先对进程提出的请求进行合法性检查, 即检查请求的是不大于需要的, 是否不大于可利用的。若请求合法, 则进行试分配。最后对试分配后的状态调用安全性检查算法进行安全性检查。若安全,则分配, 否则,不分配,恢复原来状态,拒绝申请。二. 算法分析 银行家算法中的数据结构为资源的种类 i 进程的数量 j 可利用资源向量 int Available[j] 最大需求矩阵 int Max[i][j] 分配矩阵 int Allocation[i][j] 需求矩阵 int need[i][j]= Max[i][j]- Allocation[i][j] 申请各类资源数量 int Request i[j] i 进程申请 j 资源的数量工作向量 int Work[x] int Finish[y] 银行家算法设 Request i 是进程 P i 的请求向量,如果 Request i [j]=K ,表示进程 P i 需要 k个 Rj 类型的资源,当 P i 发出资源请求后,系统按照下述步骤进行检查: (1) 如果 Request i [j]≤ Need[j], 便转向步骤( 2) ;否则认为出错,因为它所需要的资源数已经超过它所宣布的最大值。(2) 如果 Request i [j]≤ Available[j] , 便转向步骤(3); 否则, 表示尚无足够资源,P i 须等待。(3) 系统试探着将资源分配给进程 P i ,并修改下面数据结构中的数值: Available[j]:=Available[j]-Request i [j]; Allocation[i,j]:=Allocation[i,j]+Request i [j]; Need[i,j]:=Need[i,j]-Request i [j]; (4) 系统执行安全性算法,检查此次资源分配后系统是否处于安全状态。若安全,才正式将资源分配给进程 P i, 以完成本次分配; 否则本次的试探分配作废, 恢复原来的资源分配状态,让进程 P i 等待。 安全性检查算法( Check_safe() 函数) (1) 设置两个向量: 工作向量 Work , 它表示系统可提供给进程继续运行所需的各类资源数目, 在执行安全性算法开始时, Work= Available 。 3 Finish ,它表示系统是否有足够的资源分配给进程,使之运行完成。开始时先做 Finish[i]=0 ;当有足够的资源分配给进程时,再令 Finish[i]=1 。(2) 在进程中查找符合以下条件的进程: 条件 1: Finish[i]=0 ; 条件 2: need[i][j]<=Work[j] 若找到,则执行步骤(3) 否则,执行步骤(4) (3) 当进程获得资源后, 可顺利执行, 直至完成, 并释放出分配给它的资源, 故应执行: Work[j]= Work[j]+ Allocation[i][j] ; Finish[i]=1 ; goto step 2; (4) 如果所有的 Finish[i]=1 都满足, 则表示系统处于安全状态, 否则, 处于不安全状态。三、算法设计初始化算法流程图: 4 银行家算法流程图: (1) 采用动态输入的方法对进程个数 Pnum , 资源种类数 Stype, 资源总数 Ssum[], 最大需求 Max[][], 已分配 Allocation[][] 进行初始化; (2) 根据已输入数据计算出需求矩阵 Need[][], 可用资源数 Available[]; (3) 利用 Check_safe() 函数对此刻系统的安全性进行检测,如果安全,给出安全序列; (4) 进程 i 提出资源请求,利用 Ask_Distribution() 函数检测请求是否合理;合理则满足请求,并给出安全序列;不合理则给出错误提示; (5) 做出开始界面、选择界面、退出界面,使程序美观、易操作; 5 四、编码实现(实验的 java 代码) import ; public class YinHang { Scanner in = new Scanner(System. in ); int Pnum ; // 进程个数 int Stype ; // 资源种类数 int [] Ssum ; // 各类资源总数 int [][] Max ; // 最大需求矩阵 int [][] Allocation ; // 已分配矩阵 int [][] Need ; // 需求矩阵 int [] Available ; // 可用资

最近更新

2025年医师三基基础知识(心血管内科)模拟试卷.. 5页

预制楼梯技术应用 39页

2025年家庭养花奇招大全 19页

2025年离别在那个秋天美文(精选30篇) 32页

2025年业务园区培训心得体会 22页

2025年医务工作者工作现状调研报告 7页

2025年博尔塔拉职业技术学院单招职业技能测试.. 62页

新学期开学演讲稿内容(30篇) 66页

2025年合肥幼儿师范高等专科学校单招职业适应.. 61页

2025年合肥科技职业学院单招职业适应性测试题.. 63页

有关学校安全培训的心得体会(9篇) 27页

有关我的青春演讲稿(32篇) 53页

有关青春演讲稿500字(28篇) 39页

本科毕业生自我鉴定(29篇) 44页

2025年吉安幼儿师范高等专科学校单招职业技能.. 62页

植树节活动策划方案(33篇) 96页

气象局上半年工作总结(6篇) 34页

2025年祝福国庆节的话语(精选80句) 6页

2025年吉林城市职业技术学院单招职业倾向性测.. 62页

2025年吉林城市职业技术学院单招职业适应性测.. 61页

2025年吉林工业职业技术学院单招职业倾向性测.. 61页

点亮梦想的演讲稿(8篇) 13页

2025年吉林工程职业学院单招职业倾向性测试题.. 60页

2025年西安铁路职业技术学院单招职业适应性测.. 61页

2024年春季篮球运动会秩序册 11页

2023年江西省高职单招职业适应性测试考前冲刺.. 3页

2023年打印机维修手册WF7620 WF7610 WF7110 S.. 86页

2022年01月广东省江门市中心医院新员工招聘笔.. 188页

2023年北京大学医院医学检验技术人员招聘历年.. 68页

【每当变幻时】每当变幻时judy侠txt 2页