下载此文档

银行家算法的实验的汇报材料2558.doc


文档分类:办公文档 | 页数:约17页 举报非法文档有奖
1/17
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/17 下载此文档
文档列表 文档介绍
word
word
1 / 17
word
计算机操作系统实验报告
实验名称:银行家算法
实验目的:银行家算法是防止死锁的一种重要方法,通过编写一个简单的银行家算法程序,加深了解有关资源申请、防止死锁等概念,并体会和了解死锁和防止死锁的具体实施方法。
问题分析与设计:
1、算法思路:先对用户提出的请求进展合法性检查,即检查请求是否大于需要的,是否大于可利用的。假如请求合法,如此进展预分配,对分配后的状态调用安全性算法进展检查。假如安全,如此分配;假如不安全,如此拒绝申请,恢复到原来的状态,拒绝申请。
2、银行家算法步骤:〔1〕如果Requesti<or =Need,如此转向步骤(2);否如此,认为出错,因为它所需要的资源数已超过它所宣布的最大值。
〔2〕如果Request<or=Available,如此转向步骤〔3〕;否如此,表示系统某某无足够的资源,进程必须等待。
〔3〕系统试探把要求的资源分配给进程Pi,并修改下面数据结构中的数值:
     Available=Available-Request[i];
     Allocation=Allocation+Request;
word
word
2 / 17
word
Need=Need-Request;
(4)系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。
3、安全性算法步骤:
〔1〕设置两个向量
①工作向量Work。它表示系统可提供进程继续运行所需要的各类资源数目,执行安全算法开始时,Work=Allocation;
②布尔向量Finish。它表示系统是否有足够的资源分配给进程,使之运行完成,开始时先做Finish[i]=false,当有足够资源分配给进程时,令Finish[i]=true。
〔2〕从进程集合中找到一个能满足下述条件的进程:
①Finish[i]=false
②Need<or=Work
如找到,执行步骤〔3〕;否如此,执行步骤〔4〕。
〔3〕当进程P获得资源后,可顺利执行,直至完成,并释放出分配给它的资源,故应执行:
Work=Work+Allocation;
Finish[i]=true;
转向步骤〔2〕。
word
word
3 / 17
word
〔4〕如果所有进程的Finish[i]=true,如此表示系统处于安全状态;否如此,系统处于不安全状态。
4、流程图:
系统主要过程流程图
银行家算法流程图
word
word
4 / 17
word
安全性算法流程图
word
word
5 / 17
word
实验代码:
#include<>
#include<>
#include<>
#define False 0
#define True 1
int Max[100][100]={0};//各进程所需各类资源的最大需求
word
word
6 / 17
word
int Avaliable[100]={0};//系统可用资源
char name[100]={0};//资源的名称
int Allocation[100][100]={0};//系统已分配资源
int Need[100][100]={0};//还需要资源
int Request[100]={0};//请求资源向量
int temp[100]={0};//存放安全序列
int Work[100]={0};//存放系统可提供资源
int p[100]={0};
int q[100][100]={0};
int z[100][100]={0};
int M=100;//作业的最大数为100
int N=100;//资源的最大数为100
int gg=1;
void showdata()//显示资源矩阵
{
int i,j;
cout<<endl<<"此时刻的资源分配情况为:"<<endl;
cout<<" Max Allocation Need Avaliable"<<endl;
cout<<"进程名 ";
for(j=0;j<4;j++){
for(i=0;i<N;i++)
cout<<name[i]<<" ";
cout<<" ";
}
word
word
7 / 17
word
cout<<endl;
f

银行家算法的实验的汇报材料2558 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数17
  • 收藏数0 收藏
  • 顶次数0
  • 上传人511709291
  • 文件大小381 KB
  • 时间2021-11-29