- 56
- 0
- 约2.83千字
- 约 6页
- 2019-07-27 发布于江西
- 举报
《操作系统》实验三内容要求
09软一 0925114047 杨秦香
【实验题目】:预防进程死锁的银行家算法
【实验学时】:4学时
【实验目的】
通过这次实验,加深对进程死锁的理解,进一步掌握进程资源的分配、死锁的检测和安全序列的生成方法。
【实验内容】
问题描述:
设计程序模拟预防进程死锁的银行家算法的工作过程。假设有系统中有n个进程P1, … ,Pn,有m类可分配的资源R1, … ,Rm,在T0时刻,进程Pi分配到的j类资源为Allocationij个,它还需要j类资源Need ij个,系统目前剩余j类资源Workj个,现采用银行家算法进行进程资源分配预防死锁的发生。
程序要求如下:
1)判断当前状态是否安全,如果安全,给出安全序列;如果不安全给出理由。
2)对于下一个时刻T1,某个进程Pk会提出请求Request(R1, … ,Rm),判断分配给P k进程请求的资源之后。
3)输入:进程个数n,资源种类m,T0时刻各个进程的资源分配情况(可以运行输入,也可以在程序中设置);
4)输出:如果安全输出安全的进程序列,不安全提示信息。
实现提示:
用C++语言实现提示:
1)程序中进程调度时间变量描述如下:
int Available[MaxNumber];
int Max[MaxNumber][MaxNumber];
int Allocation[MaxNumber][MaxNumber];
int Need[MaxNumber][MaxNumber];
int Request[MaxNumber];
int SafeOrder[MaxNumber];
2)进程调度的实现过程如下:
变量初始化;
接收用户输入n,m,(输入或者默认的)Allocationij,Need ij;
按照银行家算法判断当前状态安全与否,安全给出安全序列,不安全给出提示;
如果安全,提示用户输入下一时刻进程Pk的资源请求Request(R1, … ,Rm);
如果不安全或者无新请求则退出。
代码:
#includeiostream
using namespace std;
int Available[100];
int Allocation[100][100];
int Need[100][100];
int Request[100];
int SafeOrder[100];
int Work[100];
bool Finish[10];
int n,m;
int i,j;
int k;
int s;
void output();
void input();
bool Bank();
void main()
{
cout--------银行家算法---------endl;
input();
Bank();
cout输入请求的进程endl;
cins;
cout请输入进程的Requestendl;
for(k=0;km;k++)
cinRequest[k];
if(Bank())
{
cout当前时刻系统安全endl;
}
else
{
cout系统不安全endl;
return;
}
}
void input()
{
cout请输入进程数 n=endl;
cinn;
coutendl;
cout请输入资源数 m=endl;
cinm;
coutendl;
cout请输入进程的Availableendl;
for(i=0;im;i++)
cinAvailable[i];
coutendl;
cout请输入进程的Needendl;
for(i=0;in;i++)
for(j=0;jm;j++)
cinNeed[i][j];
cout请输入进程的Allocationendl;
for(i=0;in;i++)
for(j=0;jm;j++)
cinAllocation[i][j];
coutendl;
}
bool Bank()
{
for(j=0;jm;j++)
{
Available[j]=Available[j]-Request[j];
Allocation[s][j]=Allocation[s][j]+Request[j];
Need[s][j]=Need[s][j]-Request[j];
}
for(i=0;im;i++)
Work[i]=Available[i];
for(i=0;in;i++)
Finish[i]=
您可能关注的文档
- 阿西莫夫短文两篇ppt模版课件.ppt
- 艾森克人格量表测试(EPQ).doc
- 爱岗敬业 默默奉献--社区妇联主任的优秀事迹.doc
- 爱岗敬业做贡献,我为党旗添光彩(爱岗敬业演讲稿合辑5篇)总结 计划 汇报 设计.doc
- 爱莲说教案ppt模版课件.doc
- 安全保证体系网络图(总表).doc
- 鞍山市村级妇联组织建设情况调查问卷(A).doc
- 案例评析作文选材.doc
- 八纲辨证ppt模版课件.ppt
- 八年级历史下册 第15课 独立自主的和平外交课件 人教新课标版.ppt
- (正式版)DB51∕T 1867-2014 《袋栽黑木耳生产技术规程》.docx
- (正式版)DB51∕T 2413-2023 《油橄榄密植丰产栽培技术规程》.docx
- (正式版)DB51∕T 2436-2017 《川菜东坡一品肉烹饪工艺技术规范》.docx
- (正式版)DB51∕T 2396-2017 《农村电子商务服务站(点)服务与管理规范》.docx
- (正式版)DB51∕T 2419-2017 《桢楠扦插育苗技术规程》.docx
- CN105145773B 一种无花果曲奇饼干及其制作方法 (江苏农林职业技术学院).docx
- CN105203825A 微测量电极的制作方法和热电势的测量方法及相关装置 (国家纳米科学中心).docx
- CN105137533B 一种啁啾光纤光栅及其制作方法 (南京航空航天大学).docx
- (正式版)DB51∕T 2453-2018 《巴山新居公共管理指南》.docx
- (正式版)DB51∕T 1892-2014 《川西北地区沙化土地治理技术规程》.docx
最近下载
- 2026年临汾职业技术学院单招职业适应性测试题库及答案详解.docx VIP
- 湖南省新高考教学教研联盟(长郡20校)2026届高三3月联考语文试题及答案.docx VIP
- 血液透析病人的饮食护理.ppt VIP
- 同等学力申硕《教育学学科综合水平考试》题库【真题精选+章节题库】.pdf VIP
- 世界铁路的发展史.pptx VIP
- 甘肃省天水市村文书考试真题.docx VIP
- 人教版道德与法治三年级下册第3课《一切靠劳动》 课件.pptx VIP
- 玻璃酸钠注射液应用课件PPT.pptx VIP
- 航运公司岗位任务说明书.doc VIP
- 统编版语文七年级下册第16课《有为有不为》(教学课件).pptx VIP
原创力文档

文档评论(0)