- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统 银行家算法文档
淮海工学院计算机工程学院
实验报告书
课程名: 《计算机操作系统》
题 目: 实验二 银行家算法
班 级: ^ ^
姓 名: ^ ^
评语:
评语:
成绩: 指导教师:
批阅时间: 年 月 日
实验二 银行家算法
实验目的和要求
应用银行家算法验证进程安全性检查及分配资源
编制模拟银行家算法的程序,并以以下例子验证程序的正确性。
实验环境
1.PC微机。
2.Windows 操作系统。
3.C/C++/VB开发集成环境。
实验学时
2学时,必做实验
实验内容和步骤
1)根据算法流程图编制可执行程序
2)用以下两个例子验证程序的正确性。
3)按照上述两个例子,输出执行的结果。
算法流程图
银行家算法:
安全性算法:
【例1】某系统有A、B、C、D这4类资源供5个进程共享,进程对资源的需求和分配情况如下表所示。现在系统中A、B、C、D类资源分别还剩1、5、2、0个,请按银行家算法回答下列问题:
?
进程
已占资源
最大需求数
A
B
C
D
A
B
C
D
P1
0
0
1
2
0
0
1
2
P2
1
0
0
0
1
7
5
0
P3
1
3
5
4
2
3
5
6
P4
0
6
3
2
0
6
5
2
P5
0
0
1
4
0
6
5
6
?
(1)? 现在系统是否处于安全状态?
(2) 如果现在进程P2提出需要(0,4,2,0)个资源的请求,系统能否满足它的请求?
【例2】用银行家算法考虑下列系统状态 :
进程?? 分配矩阵??? 最大需求矩阵?????? 资源总数矩阵
?A??? 3? 0? 1? 1???????? 4? 1? 1? 1???????? 6? 3? 4? 2
?B??? 0? 1? 0? 0???????? 0? 2? 1? 2
?C??? 1? 1? 1? 0???????? 4? 2? 1? 0
?D??? 1? 1? 0? 1???????? 1? 1? 1? 1
?E??? 0? 0? 0? 0???????? 2 ?1? 1? 0
问系统是否安全?若进程B请求(0,0,1,0),可否立即分配?此后进程E也请求(0,0,1,0),可否分配给它?
通过运行程序发现,例1当中的系统处于不安全状态,进程P2提出的请求无法实现;例2当中的系统处于安全状态,进程B提出的请求能实现,此后进程E的请求也能实现。
源代码
#includeiostream
#define N 20
#define M 20
using namespace std;
int f(int a[N][M],int b[N][M],int m,int k)
{
int j;
for(j=0;jm;j++)
if(a[k-1][j]b[k-1][j])return 0;
return 1;
}
int g(int a[N][M],int b[],int m,int k)
{
int j;
for(j=0;jm;j++)
if(a[k][j]b[j])return 0;
return 1;
}
int h(int a[],int n)
{
for(int i=0;in;i++)
if(!a[i])return 0;
return 1;
}
int p(int a[],int b[N][M],int m,int k)
{
int j;
for(j=0;jm;j++)
if(a[j]b[k-1][j])return 0;
return 1;
}
int q(int a[],int b[],int m)
{
int j;
for(j=0;jm;j++)
if(a[j]b[j])return 0;
return 1;
}
int safe(int Finish[N],int Work[M],int Need[N][M],int Allocation[N][M],int n,int m)
{ int i,j,k;
int t[N];
for(i=0;in;i++)
t[i]=1;
cout安全性检查!endl;
for(i=0;in;)// 首先找到一个满足条件的进程
{
i
您可能关注的文档
最近下载
- 天天特卖售后第四天售后场景考试.doc VIP
- 创新方法大赛模拟试卷含答案.doc
- 科学区角活动的材料投放策略以西安S幼儿园中班为例 学前教育专业.docx
- 综合实践 介绍我的教室(课件)2024-2025 北师大版(2024)数学一年级上册.pptx VIP
- 新人教版高中英语必修第一册:The Chinese Writing System_ Connecting the Past and the Present.pptx
- 党风廉政建设会议记录.docx VIP
- 公共部门目标管理.ppt
- 天天特卖售后第二天售后场景考试.doc VIP
- 网络后门与网络隐身71.pptx VIP
- 全球2024展望报告-高盛.docx
文档评论(0)