1 / 13
文档名称:

银行家算法实验报告.docx

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

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

分享

预览

银行家算法实验报告.docx

上传人:kunpengchaoyue 2021/1/19 文件大小:93 KB

下载得到文件列表

银行家算法实验报告.docx

相关文档

文档介绍

文档介绍:计算机操作系统实验报告
一、 实验名称: 银行家算法
二、 实验目的: 银行家算法是避免死锁的一种重要方法,通过编写 一个简单的银行家算法程序,加深了解有关资源申请、避免死 锁等概念,并体会和了解死锁和避免死锁的具体实施方法。
三、 问题分析与设计:
1、算法思路 :先对用户提出的请求进行合法性检查,即检查 请求是否大于需要的,是否大于可利用的。若请求合法,则进 行预分配,对分配后的状态调用安全性算法进行检查。若安 全,则分配;若不安全,则拒绝申请,恢复到原来的状态,拒 绝申请。
2、银行家算法步骤:(1)如果Requestk or二Need则转向步
骤(2);否则,认为出错,因为它所需要的资源数已超过它所
宣布的最大值。
如果Request or二Available,则转向步骤(3);否则,表
示系统中尚无足够的资源,进程必须等待。
系统试探把要求的资源分配给进程 Pi,并修改下面数据结
构中的数值:
Available=Available-Request[i];
Allocation=Allocation+Request;
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)。
( 4)如果所有进程的 Finish[i]=true, 则表示系统处于安全状态;否 则,系统处于不安全状态。
4、流程图:
系统主要过程流程图
银行家算法流程图
安全性算法流程图
四、实验代码:
〃#defi ne M 5
〃#defi ne N 3
本实验中使用到的库函数
开始定义银行家算法中需要用到的数据
#i nclude <> II
#i nclude <>
#in elude <stri >
int max [ 5][1]; //
int allocation[5][1];
int need [ 5][1];
int available[1];
int request[5][1];
char *fini sh[5];
int safe[5];
int n,i,m;
int k=0;
int j=0;
int work[1];
int works[5][1];
void line() // 美化程序,使程序运行时更加明朗美观
{
\n");
printf("
void start()
//
表示银行家算法开始
line();
printf("
银行家算法开始 \n");
printf("
死锁避免方法
\n");
line();
void end()
//
表示银行家算法结束
line();
printf("
银行家算法结束,谢谢使用 \n");
line();
void input()
//
输入银行家算法起始各项数据
for (n=0;n<5;n++)
printf(” 请输入进程P%d的相关信息:\n",n);
printf("Max:");
for (m=0;m<1;m++)
scanf("%d",&max[n][m]);
printf("Allocation:");
for (m=0;m<1;m++)
scanf("%d",&allocation[n][m])

最近更新

2025年安徽省淮南市单招职业倾向性测试题库附.. 62页

2025学校食堂管理工作总结(3篇) 6页

2025年安徽省芜湖市单招职业适应性测试题库(.. 63页

2025年安徽省阜阳市单招职业倾向性测试题库(.. 62页

2025学年海南省天一大联考高考英语三模试卷(含.. 14页

2025年安徽矿业职业技术学院单招职业技能测试.. 62页

2025年安徽粮食工程职业学院单招职业倾向性测.. 63页

2025年安徽绿海商务职业学院单招职业技能测试.. 61页

2025年安徽职业技术学院单招职业倾向性测试题.. 62页

2025学年七年级上学期英语10月月考试卷(含答案.. 4页

2025年安徽警官职业学院单招职业倾向性测试题.. 62页

2025大气污染防治整改方案 3页

2025年安徽马钢技师学院单招职业技能测试题库.. 59页

2025年安徽黄梅戏艺术职业学院单招职业技能测.. 61页

2025年安阳学院单招职业适应性测试题库及答案.. 61页

2025年安阳幼儿师范高等专科学校单招职业技能.. 61页

2025年安阳职业技术学院单招职业技能测试题库.. 61页

2025北京电工考试试题高压电工考试(全国真题).. 37页

2025年宜春职业技术学院单招职业倾向性测试题.. 63页

2025年宝鸡中北职业学院单招职业适应性测试题.. 61页

2025冰雪知识竞赛题库及答案(小学组第2025202.. 31页

2025六年级上册道德与法治期末测试卷附答案【.. 7页

2025年宿州职业技术学院单招职业倾向性测试题.. 62页

2025年宿州职业技术学院单招职业适应性测试题.. 62页

2025年宿迁泽达职业技术学院单招职业适应性测.. 63页

鲁教版五四制七年级上册生物 4.5.1尿的形成和.. 10页

2025年山东公务员行测言语理解与表达题目带答.. 176页

2025年山东力明科技职业学院单招职业技能测试.. 61页

2025年佳木斯职业学院单招职业技能测试题库及.. 73页

关于返点协议书范本 5页