操作系统银行家算法_第1页
操作系统银行家算法_第2页
操作系统银行家算法_第3页
操作系统银行家算法_第4页
操作系统银行家算法_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

淮海工学院计算机工程学院实验报告书课程名:《计算机操作系统》题目:实验二银行家算法班级:^^姓名:^^评语:评语:成绩:指导教师:批阅时间:年月日《UML理论与实践》实验报告 -PAGE11-实验二银行家算法饭实验目的和娱要求鱼应用银行家雕算法验证进膏程安全性检杯查及分配资禽源向编制模拟银渠行家算法的析程序,并以脑以下例子验洗证程序的正劫确性斥。实验环境造1侍.挂PC技微机。刺2菌.插Windo谋ws贵操作系统。干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之P坦2鹰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的伞请求也能实欣现。源代码亡#incl妄ude<i地ostre夹am>拘#defi歼neN已20泉#defi竟neM姻20逆using州name眼space英std;涝intf丢(int绣a[N][扩M],in广tb[N毅][M],优intm漠,int似k){阶i妹ntj;坏fo点r(j=0辱;j<m;村j++)如湖if(a夫[k-1]否[j]>b疑[k-1]荒[j])r矛eturn疏0;嫂邪传retur朝n1;}裂intg齐(int躺a[N][泪M],in谨tb[]延,in唐tm,i蹲ntk){融in士tj;墙fo咳r(j=0趴;j<m;珍j++)搬递if棉(a[k]傅[j]>b逮[j])r冒eturn鞠0;错贫腾retur卖n1;}茅inth叙(int增a[],i期ntn){冻fo暗r(int稍i=0;径i<n;i聋++)悲阁if(!牲a[i])饼retur推n0;运堵沸retur肚n1;}挑intp昂(int毛a[],i其ntb[挖N][M]邀,int域m,int暗k){版in膝tj;悼fo消r(j=0翻;j<m;看j++)阿标if陪(a[j]弓>b[k-皱1][j]云)retu欺rn0;寿哭拿retur套n1;}蚀intq扎(int村a[],i戴ntb[竖],int芽m){争in歼tj;谨fo眼r(j=0卫;j<m;在j++)定告if(a邀[j]>b鸦[j])r俱eturn择0;牙灶贫retur毒n1;}寨ints扰afe(i侨ntFi振nish[兰N],in步tWor凭k[M],为intN冶eed[N嫌][M],把intA族lloca乱tion[伏N][M]俭,int符n,i搭ntm)焦{i呜nti,蓄j,k;术i麻ntt[疤N];弄f底or(i=阻0;i<n吉;i++)冲勿t[i]蚂=1;眼co尽ut<<"蜡安全性检查扮!"<<e守ndl;芽fo橡r(i=0追;i<n;体)//首碎先找到一个廊满足条件的坐进程{仇if蚊((Fin源ish[i哀]==0)失&&g(N炮eed,W涛ork,m盗,i)){耻胃k=i;狠皆t[i]存=0;液洁cout幕<<"p(搬"<<k+往1<<")瓶:"<<e切ndl;礼酬缝cout<担<"乒Work[碍"<<m<穴<"]:"勤;碗惭for(晕j=0;j布<m;j+思+)嚷良{蜂纯c锣out<<攻Work[原j]<<"肃";味躬W屑ork[j授]=Wor药k[j]+只Alloc秤ation雪[i][j巾];秆纪F醒inish育[i]=1夕;棕脏}少缺cout插<<end例l;抢晕肺cout<膨<"Nee炊d["<<耗m<<"]重:";凝疼fo厦r(j=0块;j<m;贝j++)概右c钉out<<泄Need[缘i][j]零<<""抖;书圾罚cou讽t<<en块dl;狂拼均c座out<<牧"Allo锻catio窄n["<<葬m<<"]妈:";浆词fo拾r(j=0贪;j<m;迎j++)录侄c捕out<<放Alloc座ation牵[i][j携]<<"聋";洒声疤co构ut<<e惊ndl;评寨氧散cout事<<"(W城ork+A亿lloca裕tion)肤["<<m嫌<<"]:层";啄论fo捞r(j=0速;j<m;冤j++)凭候c必out<<河Work峡[j]<<增"";架叨勇co婚ut<<e个ndl;弊穴光cout<沫<"Fin抱ish["支<<k+1朝<<"]:勒";幕蝶寸c侨out<<驻Finis傻h[i]<觉<"";于税懂肌cout<蔑<endl仗;召塌赔笛bre妄ak;}誓el对se{煤算i++;}}笑if桐(g(Ne耀ed,Wo涉rk,m,简k))//蜘依次找到满灿足条件的后爹面几个进程{涉烦for哈(i=0;姜i<n;i腥++){永饼if(t御[i])则炊{饮配i速f(g(N用eed,W灿ork,m绳,i))胜娇{畜颤c那out<<太"p("<宏<i+1<尝<"):"志<<end末l;盆槐c妙out<<式"Work荒["<<m吸<<"]:伯";贤其for(拴j=0;j辛<m;j+尿+)煎剃{资回c膛out<<崇Work[渠j]<<"沉";早呼W遮ork[j早]=Wor若k[j]+烘Alloc梯ation气[i][j帽];乞涂F沈inish顺[i]=1眠;钓结}滤絮cout判<<end悄l;雕羽co播ut<<"虫Need[忍"<<m<晶<"]:"敬;玉晋fo象r(j=0端;j<m;企j++)殖铺c茫out<<抖Need[裕i][j]果<<""爪;迁同cout裹<<end任l;赚板cout施<<"Al盛locat片ion["播<<m<<堆"]:";槐吼fo幼r(j=0妹;j<m;叫j++)陕绿c全out<<朴Alloc虚ation陡[i][j麻]<<"口";呆经cout飞<<end房l;狼额cou控t<<"(段Work+摆Alloc慕ation构)["<<全m<<"]即:";俊障for(奸j=0;j舰<m;j+唐+)趟先co竞ut<<W及ork[j湿]<<"柄";粱拜渡cou秒t<<en赏dl;读盖cout假<<"Fi会nish[攀"<<i+宵1<<"]汁:";亿蠢c味out<<闹Finis喊h[i]<贸<"";闲驶c豪out<<材endl;虎议垂t[i]=杠0;拿喇}裹崇}期学}}缸el感se{范锈retu茶rn0;}滨if(h(嘉Finis喉h,n))萍retur滋n1;/惨/丸系统处于安缓全状态士el滑sere市turn闪0;//系记统处于不安据全状态黎}乐void咱r(int嚷Fini岂sh[N]天,int顾Work[奋M],in元tAva蜓ilabl膝e[M],忍intN辰eed[N闲][M],少intA鸡lloca费tion[金N][M]背,int佣Max[N狮][M],蚀intn护,int泳m){残in拍tReq咱uest[粘M];扇ch吗arb;牺in美ti,j探,k;泰c泳out<<喉"\n要申括请资源,请研按'y'或皆'Y',否感则按'n'神或'N'"翠<<end镜l;//是部立即进行安购全性检查,怖还是进行资匆源申请件c漫in>>b啊;推if且(b!='胖y'&&b款!='Y'诸)膜丈{陷狮i健f(saf舅e(Fin村ish,W士ork,N蜜eed,A历lloca斯tion,共n,m))意毕{休仓炕cout仓<<"此时乓刻系统安全晓!\n";洋掀}苦评气else袋酷{怜洪己cou蜡t<<"此干时刻系统不糟安全!\n炸";奖毒}泊聚妈}楼el圆se{热束{露嗽c要out<<岸"\n请输笋入申请资源土的进程编号述(1,2,患…弦,"<<n商<<"):牢"<<en释dl;指渣腰cin>>临k;里哑w志hile(出k>n)重盛简{黎某补括cout矩<<"您输嫂入了错误的剖进程号,请华核查后重新钞输入:"<脸<endl尘;乞秋殊才cin>抓>k;肺瞧讲}昏爸幅cout<弹<"\n请授输入进程p诵("<<k慢<<")申怪请各类资源牺的数量:"架<<end绘l;票较fo践r(j=老0;j<菜m;j+覆+)睬堤c呢in>>R壮eques壳t[j];粪弱if(p狭(Requ孩est,N爹eed,m也,k))倒摄{测慢i邪f(q(R俗eques体t,Ava间ilabl走e,m))诵驴{予基f们or(j=墨0;j<m笔;j++)相辟{勒倚A舱vaila之ble[j惑]=Ava遇ilabl蠢e[j]-驰Reque甩st[j]含;论痒A写lloca会tion[并k-1][辟j]=Al搬locat跪ion[k参-1][j榆]+Req戴uest[恰j];踩并N验eed[k炕-1][j络]=Nee能d[k-1肤][j]-劝Reque幕st[j]戴;禽填徐Wor壶k[j]=旱Avail用able[假j];含参}丝巷c屋out<<闹"带试分配!"锯<<end桨l;漫顷c辽out<<占"各种资源鸽可利用的数蛙量Avai新lable很["<<m汗<<"]:汁"<<e粘ndl;剑赛fo坑r(j=故0;j<尼m;j+波+)住桂{慨着c岸out<<方Avail杠able[灵j]<<"宇"堤;纲鸟}歉怨cou柳t<<en测dl;牵自cou佳t<<"\蝇n已分配资幻源Allo捧catio秒n["<<尾m<<"]释:"<<怠endl;性傲for坦(i=0泼;i<n蔑;i++冻)趣凳{在愚政for馒(j=0排;j<m沃;j++储)竹尖{逢姥畏cou孤t<<Al遥locat莲ion[i提][j]<般<"箱";挪嗽}云废画cout<疤<endl蛮;瞎渴}爱针cou却t<<"\唐n最大需求逗矩阵Max知["<<n探<<"][无"<<m<该<"]:樱"<<en轨dl;篇静for浑(i=0咐;i<n姐;i++金)剂淡{并搭f熄or(j看=0;j股<m;j鼠++)复适{攀酿铁co障ut<<M灶ax[i]撤[j]<<灵"式";鹿讽}员覆郑cout<漏<endl滴;护如}匪增cout翁<<"\n涉需求矩阵N往eed["租<<n<<快"]["<禾<m<<"秋]:"<呜<endl鼻;愚迅for富(i=0润;i<n之;i++烟)枣览{钓狮f揉or(j得=0;j慰<m;j库++)旨奔{慨犁快cou夹t<<Ne粮ed[i]壤[j]<<锋"云";灌瘦}皱捕据c普out<<沾endl;宵床}嗽缠if闻(safe炸(Fini混sh,Wo外rk,Ne叶ed,Al亦locat奋ion,n肯,m))擦界{//判纪断当前状态财的安全性逢强具cou持t<<"系播统处于安全船状态!";残孙嫁cout<堡<"\n申局请资源成功忠!!!"<参<endl文;流资}拴松else崖{玉管c斥out<<后"\n当前王状态不安全伐!!!!!召!";苏版/皆/恢复数据授尸f柄or(j恋=0;j咸<m;j刮++)吵矮{垦许身Ava蛾ilabl瞧e[j]=蜻Avail铁able[益j]+Re雁quest走[j];森始垄All棒ocati雀on[k-猾1][j]岭=Allo绵catio歌n[k-1技][j]-针Reque键st[j]幻;隐椅充Nee草d[k-1羊][j]=窝Need[骤k-1][防j]+Re堵quest自[j];贝励逃Wor景k[j]=退Avail便able[河j];粪沈}休膨f选or(i=浅0;i<将n;i+庸+)避讲斥Fin睬ish[i语]=0;爆斜cou膜t<<"\响n恢复数据小:"<<e逼ndl;/慎/显示输入闪各数组的值鹊熟cout物<<"各种笛资源可利用登的数量Av圾ailab序le["<知<m<<"剪]:"<甲<endl见;希梢fo亭r(j=秒0;j<被m;j+索+)宇绩{浸蜓c骤out<<典Avail纹able[诉j]<<"湿"抖;唯待}弯耽cou责t<<en穿dl;壮挡cou过t<<"\牧n已分配资扩源Allo吸catio警n["<<惭m<<"]别:"<<仁endl;肢造for表(i=0罢;i<n束;i++叠)粘仔{揭断f仰or(j鬼=0;j粘<m;j盘++)依受{拿左疗cou递t<<Al馋locat上ion[i奔][j]<战<"骂";提步}他番准cout<丝<endl辆;寺狐}亡寒cou烈t<<"\赔n最大需求倒矩阵Max幼["<<n从<<"][炭"<<m<胀<"]:执"<<en浅dl;畜搂for乘(i=0糕;i<n狱;i++蜂)逼滔{萝洞f踪or(j每=0;j肯<m;j玻++)倒季{凯倍搁cou注t<<Ma酿x[i][叹j]<<"健"狗;燥伯}天肥劫cout<居<endl嚼;挎认}插暴cou忍t<<"\蜡n需求矩阵翻Need[欧"<<n<仙<"]["雁<<m<<猎"]:"惜<<end巴l;俘预for暑(i=0搬;i<n行;i++因)闭花{借腿f它or(j峰=0;j嗽<m;j食++)棵叔{哑亭好cou择t<<Ne月ed[i]骄[j]<<界"益";凉翠}耀令饮cout<改<endl道;储兰}旁南cout<疮<"系统中陡尚无足够的窝资源满足进价程p["<脖<k<<"婆]的申请,买p["<<匠k<<"]丛必须等待!攻"<<en魂dl;杂慨}}箩el剥seco冈ut<<"填系统中尚无金足够的资源涛满足进程p增["<<k赵<<"]的辟申请,p[梁"<<k<指<"]必须垄等待!"<统<endl粒;}拴else烧cout<秀<"出错,闹进程所需要什的资源数目沟已超过它所侵宣布的最大算值!"<<治endl;嫁}}}像void渴main(馆){含co注ut<<"聚国除惜银骆悦赌即叉籍涛--"<<钩endl;裁co跌ut<<"昆震顾轨模拟竭银行家算法两认圈齿"<谎<endl挑;寻co败ut<<"夕村姥岩消译题飞蔽移誉蔑--"<<哪endl;姻co酒ut<<"葛叉他意筑江之风海之压韵逢侨曲侦"<<en诸dl;敞co薪ut<<"标粮挺愧粥Q跑uQu--旧催丈慧扑"<炉<endl狠;稀co丰ut<<"屑唐行澡锈坟星粗鄙父蚂跌--"<<饰endl;育in知tAva达ilabl梅e[M];特in补tMax困[N][M厨];街in府tAll汽ocati地on[N]苍[M];冲in品tNee睁d[N][洲M];评i追ntWo乡rk[M]伤;筋in朝tFin减ish[N宣];伯in关ti,j午,n,m;邮//慨定义全局变僻量订co炼ut<<"妨输入进程的劣数量:"中;//从此葡开始输入有河关数据册c扁in>>n米;奔c核out<<颗"输入资源吧种类数:兴";掏ci涨n>>m;哥co浅ut<<"舌输入各种资亭源可利用的庭数量Ava涉ilabl思e["<<翼m<<"]皇:"<<半endl;兼fo中r(j=示0;j<惧m;j+核+){棉倒cin>锡>Avai蜂lable昏[j];讨法Work畏[j]=A衡vaila吉ble[j醋];//初废始化Wor饱k[j]}伸co谜ut<<"堤\n输入各缓进程对各类砖资源的最大休需求数Ma俘x["<<金n<<"]削["<<m那<<"]:税"<<e怀ndl;野c仍out<<想"\n请严宪格按照("书<<n<<骂"春×省"<<m<嫩<")的距滨阵输入:"糠<<end疮l;屋fo野r(i=牢0;i<鄙n;i+脚+)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论