1 / 23
文档名称:

操作系统实验 银行家算法.docx

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

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

分享

预览

操作系统实验 银行家算法.docx

上传人:2623466021 2019/10/20 文件大小:802 KB

下载得到文件列表

操作系统实验 银行家算法.docx

文档介绍

文档介绍:学号 P71514032 专业 计算机科学与技术姓名实验日期 教师签字成绩实验报告【实验名称】银行家算法【实验目的】掌握银行家算法,用银行家算法模拟操作系统避免死锁的方法【实验原理】银行家算法又称“资源分配拒绝”法,其基本思想是,系统中的所有进程放入进程集合,在安全状态下系统受到进程的请求后试探性的把资源分配给他,现在系统将剩下的资源和进程集合中其他进程还需要的资源数做比较,找出剩余资源能满足最大需求量的进程,从而保证进程运行完成后还回全部资源。这时系统将该进程从进程集合中将其清除。此时系统中的资源就更多了。反复执行上面的步骤,最后检查进程的集合为空时就表明本次申请可行,系统处于安全状态,可以实施本次分配,否则,只要进程集合非空,系统便处于不安全状态,本次不能分配给他。请进程等待用C语言编写一个简单的银行家算法模拟程序,用银行家算法实现资源分配。程序能模拟多个进程共享多种资源的情形。进程可动态地申请资源,系统按各进程的申请动态地分配资源。要求程序具有显示和打印各进程的某一时刻的资源分配表和安全序列;显示和打印各进程依次要求申请的资源数量以及为某进程分配资源后的有关资源数据的情况【数据结构和符号说明】可利用资源向量Available最大需求矩阵Max分配矩阵Allocation需求矩阵Need工作向量Work标记向量Finishcharname[100][10];//定义最大100个进程,每个大小为10intMax[100][100];//定义intAllocation[100][100];//可利用资源向量资源数intNeed[100][100];//需求矩阵intavaiable[100];//系统可利用资源intavaiable1[100];intstate[100];//进程状态数组charname1[100][10];//进程名intbigger;;//是否大于intN;//进程数intn;//资源数intcounter;函数:voidInput()//输入函数voidInit()//初始化voidoutput()//输出安全序列或等待voidinsert_pcb()//请求进程或更新进程voidshow()//显示界面与选择intCmpRequestAvailable(intPos,intn)//比较Request和Available的大小intCmpRequestNeed(intPos,intn)//比较Request和Need的大小voidReset(intn,intPos)//更新request之后的Need,Allocation,Available的值voidBanker()//银行家算法【实验流程图及算法实现】用C语言编写一个简单的银行家算法模拟程序,用银行家算法实现资源分配。程序能模拟多个进程共享多种资源的情形。进程可动态地申请资源,系统按各进程的申请动态地分配资源。要求程序具有显示和打印各进程的某一时刻的资源分配表和安全序列;显示和打印各进程依次要求申请的资源数量以及为某进程分配资源后的有关资源数据的情况【流程图】代码:#include<iostream>usingnamespacestd;charname[100][10];定义最大100个进程,每个大小为10intMax[100][100];//定义intAllocation[100][100];//可利用资源向量资源数intNeed[100][100];//需求矩阵intavaiable[100];//intstate[100];//进程状态数组intdayu;;是否大于intN;intn;voidinput(){cout<<"输入进程个数"<<endl;cin>>N;cout<<"输入资源个数"<<endl;cin>>n;cout<<"系统现有的各资源的个数"<<endl;for(inti=0;i<n;i++)cin>>avaiable[i];for(inti=0;i<N;i++)//输入{cout<<"输入第"<<i<<"个进程的名字"<<endl;cin>>name[i];cout<<"输入第"<<i<<"所需要各进程的最大资源数"<<endl;for(intj=0;j<n;j++)cin>>Max[i][j];cout<<"输入第"<<i<<"现在所拥有的资源个数"<<endl;for(intj=0;j<n;j++)cin>>Allocation[i][j];state[i]=0;}for(inti=0;i<N;i++)for(intj=0;j<n;j++)//寻找需求矩阵Need[i][j]=Max[i][j]-Allocation[i][j];}voidyinhangjia(){inti,j,k;for(i=0;i<

最近更新

2025年乌海职业技术学院单招职业适应性测试题.. 60页

2025年三亚拓展训练公司 6页

2025年国开电大财务管理形考任务1参考答案 8页

2025年九江理工职业学院单招职业适应性测试题.. 61页

2025年九江职业技术学院单招职业倾向性测试题.. 61页

2025年云南体育运动职业技术学院单招职业技能.. 62页

2025年云南商务职业学院单招职业技能测试题库.. 61页

2025年简历的自我评价(精选篇) 5页

2025年云南国防工业职业技术学院单招职业倾向.. 62页

2025年云南城市建设职业学院单招职业倾向性测.. 60页

2025年简单结婚祝福(通用40句) 4页

税务稽查方法与案例企业所得税实务题 25页

2025年云南新兴职业学院单招职业技能测试题库.. 62页

2025年云南旅游职业学院单招职业倾向性测试题.. 59页

2025年云南机电职业技术学院单招职业倾向性测.. 64页

2025年云南林业职业技术学院单招职业倾向性测.. 60页

2025年云南特殊教育职业学院单招职业适应性测.. 62页

2025年云南理工职业学院单招职业适应性测试题.. 63页

2025年云南省临沧地区单招职业适应性测试题库.. 62页

2025年21装饰装修工程招标文件范本 58页

2025年云南省德宏傣族景颇族自治州单招职业倾.. 62页

2025年云南省怒江傈僳族自治州单招职业倾向性.. 62页

2025年简单的唯美心情语录37条 4页

2025年云南省文山壮族苗族自治州单招职业倾向.. 63页

2025年云南省昆明市单招职业适应性测试题库含.. 63页

工程制图试卷(16套) 27页

成井报告 6页

郑州大学2025年硕士研究生复试分数线 9页

基建合同书样本 3页

工程制图16套试卷 27页