1 / 12
文档名称:

操作系统之银行家算法检测死锁.docx

格式:docx   大小:78KB   页数:12页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

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

分享

预览

操作系统之银行家算法检测死锁.docx

上传人:蓝天 2022/7/2 文件大小:78 KB

下载得到文件列表

操作系统之银行家算法检测死锁.docx

文档介绍

文档介绍:操作系统实验
利用银行家算法避免死锁
实验报告
一、 实验题目:利用银行家算法避免死锁
二、 实验内容:编程实现银行家算法,要求能够输入资源数和作业数,输出进程的安全 状况。若进程安全,输出安全序列。
三、 实验目的:> #define False 0 #define True 1 using namespace std;
intMax[100][100]={0};//#进程所需各类资源的最大需求;
int Available[ 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; 〃作业的最大数
intN=100; 〃资源的最大数
void showdata()//显示资源矩阵
(
int i,j;
cout«"系统可用资源[Available]: "«endl;
for(i=0;i<N;i++)
cout«name[i]«"
cout«endl;
for(j=0;j<N;j++)
cout«Avaliable[j]«"〃显示可分配的资源
cout«endl;
cout«n Max Allocation Needn«endl;
cout«"进程名
for (j=0;j<3;j++)//MAX ALLOCATION NEED 共列
(
for (i=0;i<N;i++)
{
cout«name[i]«"
}
cout«"
)
cout«endl;
for(i=0;i<M;i++)(
cout«" "«i«" ”;〃输出进程名
for(j=0;j<N;j++)
cout«Max[i][j]«" ";//输出最大
cout«"
for(j=0;j<N;j++)
cout«Allocation[i][j]«"〃输出已分配
cout«"
for(j=0;j<N;j++)
cout«Need[i][j]«n 〃输出需求
cout«endl;
int changedata(int i)〃 进行资源分配;
intj;
for (j=O;j<M;j++)〃对每个作业进行银行家算法分配
(
Available [j ]= Available [j ] -Request |j ];
Allocation [i][j ]=Allocation[i] [j ] +Request[j];
Need[i] [j]=Need[i] [j]-Request[j];
}
return 1;
}
int safe()//安全性算法
(
int k=0,m,apply,Finish [ 100]={0};
intj;
for(int i=0;i<N;i++)
(
Work[i]=Avaliable[i];
}
for (int i=0;i<M;i++)
(
apply=0;
for (int j=O;j<N;j++)
(
if (Finish[i]==False&&Need[i][j]<=Work[j])(
apply++;//经过验证之后apply会增加到和资源数相等
if (apply==N) (
for(m=0;m<N ;m++)
Work[m]=Work[m]+Allocation[i] [m] ;//# 放可用资源
Finish[i]=True;〃 置 安全
temp[k]=i;//记录安全进程名
i=-l;//让i跳出资源层循环时回到初始状态
k++;〃安全序列下标前进位
}
)
)
)
for(int i=O;i<M;i++){
if(Finish[i] ==False) {
cout«n系统不安全;”《endl;〃系统不安全;
return -1;
)
}
cout«"系统是安全的!"«endl;//如果安全输出成功;
cout«"分配的序列:”;
for(int i=O;i<M;i++) {〃输出运行进程数组;
cout«temp[i];
if(i<M-l) cout«"->";
}
cout«endl;
return 0;
void share。//判定申请资源
(
char ch;
int i=0,j=0;
ch='y';
cout«n

最近更新

年度体育教师个人工作总结(精选14篇) 26页

小班保育员个人工作总结(通用5篇) 8页

小学开学典礼作文400字(通用2篇) 2页

室内装修合同(精选2篇) 21页

安全协议书(通用4篇) 9页

学习励志口号(通用15篇) 38页

大学生恋爱观调查报告(通用3篇) 13页

员工工资收入证明10篇 4页

医院个人实习工作总结(精选13篇) 17页

初一新生英文自我介绍(精选3篇) 2页

关于医院消毒隔离工作制度(5篇) 6页

信息技术个人研修计划(精选8篇) 12页

以《春节》的作文600字(通用7篇) 7页

中职学校骨干教师国家级培训总结(精选3篇) 6页

世界环境日宣传标语(精选13篇) 34页

【热门】当班主任的工作总结汇总六篇(通用6篇.. 14页

2025年大班五大领域工作总结(精选3篇) 5页

大数据时代的企业管理创新 27页

二零二五年度金融行业供应商合作协议范本 3页

华润·翡冷翠营销策划及广告表现提案 133页

二零二五年度集装箱式移动警务室租赁合同 3页

初中数学竞赛经典题目解析 27页

二零二五年度高档住宅出售购房合同 3页

酒店英语课件入住和抱怨Checkinandcomplain详.. 18页

重庆市綦江县名校2024届中考数学考前最后一卷.. 21页

2023届甘肃省会宁县中考化学模拟试题含解析 14页

二零二五年度体育用品销售代理与赛事教练服务.. 3页

2024届河北省唐山二中高三下学期第六次检测化.. 17页

上海市奉贤区名校2023年中考考前最后一卷生物.. 21页

二零二五年度光伏发电工程建筑工程施工联合体.. 3页