实验六——银行家算法

上传人:第*** 文档编号:34055380 上传时间:2018-02-20 格式:DOC 页数:15 大小:291.50KB
返回 下载 相关 举报
实验六——银行家算法_第1页
第1页 / 共15页
实验六——银行家算法_第2页
第2页 / 共15页
实验六——银行家算法_第3页
第3页 / 共15页
实验六——银行家算法_第4页
第4页 / 共15页
实验六——银行家算法_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《实验六——银行家算法》由会员分享,可在线阅读,更多相关《实验六——银行家算法(15页珍藏版)》请在金锄头文库上搜索。

1、操作系统实验报告实验六 死锁的避免银行家算法班 级 姓 名 康锏学 号 实验日期 实验六 死锁的避免银行家算法1目的和要求银行家算法是避免死锁的一种重要方法,本实验要求用高级语言编写和调试一个简单的银行家算法程序。加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。2实验内容(1) 设计一个 n 个并发进程共享 m 个系统资源的系统。进程可动态申请资源和释放资源,系统按各进程的申请动态的分配资源。要求用死锁检测算法检测当某一进程提出资源分配请求时,系统会不会陷入死锁状态;如若陷入死锁状态要求用某种算法解除死锁(2) 实现银行家算法要有若干数据结构,它们用来表示资源分

2、配系统的状态。令 n 表示系统中进程的数目,m 表示资源的分类数。还需要以下数据结构:1. Available 是一个长度为 m 的向量,它表示每类资源可用的数量。Available j=k,表示 rj 类资源可用的数量为 k。2.Max 是一个 nm 矩阵,它表示每个进程对资源的最大需求。Max i,j=k,表示进程 pi 至多可以申请 k 个 rj 类资源单位。3. Allocation 是一个 nm 矩阵,它表示当前分给每个进程的资源数目。Allocation i,j=k,表示进程 pi 当前分到 k 个 rj 类资源。4. Need 是一个 nm 矩阵,它表示每个进程还缺少多少资源。N

3、eedi,j=k,表示进程 pi 尚需 k 个 rj 类资源才能完成其任务。显然Needi,j= Max i,j- Allocation i,j。这些数据结构的大小和数值随时间推移而改变。系统所执行的安全性算法描述如下:1.设置 2 个向量:工作向量 Work:它表示系统可提供给进程继续运行所需的各类资源数目,它含有 m 个元素,在执行安全算法开始时,Work = Available。Finishi :它表示系统是否有足够的资源分配给进程,使之完成运行。开始时先做 Finishi=true。2.从进程集合中找到一个满足下述条件的进程:Finishi=flase;Needi,jWorkj;若找到

4、,则执行步骤 3,否则,执行步骤 4。3.当进程 pi 获得资源后,可顺利执行,直至完成,并释放分配给它的资源。4.如果所有进程的 Finishi=true 都满足。则表示系统处于安全状态;否则,系统处于不安全状态。3实验环境Windows 操作系统、VC+6.0C 语言4实验步骤(1)用 VC+6.0 编写程序#include#include#include#define False 0#define True 1int Max100100=0;/各进程所需各类资源的最大需求int Avaliable100=0;/系统可用资源char name100=0;/资源的名称int Allocati

5、on100100=0;/系统已分配资源int Need100100=0;/还需要资源int Request100=0;/请求资源向量int temp100=0;/存放安全序列int Work100=0;/存放系统可提供资源int p100=0;int q100100=0;int z100100=0;int M=100;/作业的最大数为 100int N=100;/资源的最大数为 100int gg=1;void showdata()/显示资源矩阵int i,j;cout;couti;/输入须申请的资源号coutRequestj;/输入需要申请的资源for (j=0;jNeedij)/判断申请是否大于需求,若大于则出错 coutAvaliablej)/判断申请是否大于当前资源,若大于则 /出错coutn;N=n;for(i=0;iming;namei=ming;coutnumber;Avaliablei=number;coutm;M=m;coutMaxij;doflag=0;coutAllocationij;if(AllocationijMaxij)flag=1;Needij=Maxij-Allocationij;if(flag)coutt;coutendl;return 1;(2)调试(3)运行

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号