- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统实验三:银行家算法
时间:2013-12-13
地点:计算机实验机房2
实验人:朱蓉蓉 学号:本次实验主要针对银行家算法的实现和安全序列的检测。
银行家算法实验代码:
#includeiostream
#includestring.h
#includestdio.h
#define False 0
#define True 1
using namespace std;
int Max[100][100]={0};//各进程所需各类资源的最大需求
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 M=100;//进程的最大数为
int N=100;//资源的最大数为
void showdata()//显示资源矩阵
{
int i,j;
cout系统目前可用的资源[Avaliable]:endl;
for(i=0;iN;i++)
coutname[i] ;
coutendl;
for (j=0;jN;j++)
coutAvaliable[j] ;//输出分配资源
coutendl;
cout Max Allocation Needendl;
cout进程名 ;
for(j=0;j3;j++){
for(i=0;iN;i++)
coutname[i] ;
cout ;
}
coutendl;
for(i=0;iM;i++){
cout i ;
for(j=0;jN;j++)
coutMax[i][j] ;
cout ;
for(j=0;jN;j++)
coutAllocation[i][j] ;
cout ;
for(j=0;jN;j++)
coutNeed[i][j] ;
coutendl;
}
}
int changdata(int i)//进行资源分配
{
int j;
for (j=0;jM;j++) {
Avaliable[j]=Avaliable[j]-Request[j];
Allocation[i][j]=Allocation[i][j]+Request[j];
Need[i][j]=Need[i][j]-Request[j];
}
return 1;
}
int safe()//安全性算法
{
int i,k=0,m,apply,Finish[100]={0};
int j;
int flag=0;
Work[0]=Avaliable[0];
Work[1]=Avaliable[1];
Work[2]=Avaliable[2];
for(i=0;iM;i++){
apply=0;
for(j=0;jN;j++){
if (Finish[i]==FalseNeed[i][j]=Work[j]){
apply++;
if(apply==N){
for(m=0;mN;m++)
Work[m]=Work[m]+Allocation[i][m];//变分配数
Finish[i]=True;
temp[k]=i;
i=-1;
k++;
flag++;
}
}
}
}
for(i=0;iM;i++){
if(Finish[i]==False){
cout系统不安全endl;//不成功系统不安全
return -1;
}
}
cout系统是安全的!endl;//如果安全,输出成功
cout分配的序列:;
for(i=0;iM;i++){//输出运行进程数组
couttemp[i];
if(iM-1) cout-;
}
coutendl;
return 0;
}
void share()//利用银行家算法对申请资源对进行判定
{
char ch;
int i=0,j=0;
ch=y;
cout请输入要求分配的资源进程号(0-M-1):;
cini;//输入须申请的资源号
cout请输入
您可能关注的文档
最近下载
- 2025年天津市专业技术人员公需考试试题-为中国式现代化提供强大动力和制度保障——党的二十届三中全会暨《中共中央关于进一步全面深化改革、推进中国式现代化的决定》总体解读.docx VIP
- 2024版建筑园林施工合同.docx VIP
- 2024高中化学课程标准考试模拟试卷附答案(三套) .pdf VIP
- 发展党员工作需要把握的47个时间节点.xlsx VIP
- 工会主席在XX市烟草专卖局(公司)党组理论学习中心组学习会上的研讨发言.doc VIP
- 自考英语二2024年10月真题及答案.docx
- 手持式电批说明书.docx VIP
- 钢结构厂房施工进度计划横道图(1)(1).pdf VIP
- 机械制造工艺学课程设计-拔叉工艺及夹具设计.doc VIP
- 2023年5月人力资源管理师二级真题及理论部分答案.pdf VIP
文档评论(0)