实验九死锁避免算法

实验九死锁避免算法

ID:35342267

大小:57.07 KB

页数:4页

时间:2019-03-23

实验九死锁避免算法_第1页
实验九死锁避免算法_第2页
实验九死锁避免算法_第3页
实验九死锁避免算法_第4页
资源描述:

《实验九死锁避免算法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验九死锁避免算法-银行家算法实现实验目的:通过编程实现银行家算法,掌握避免死锁的原理和实现实验内容:用c语言实现银行家算法,验证教程例子的正确性。实验准备:参考书本银行家算法数据结构和算法分析参考程序:第一部分:银行家算法(扫描)1.如果Requests二Need,则转向2;否则,出错2.如果Request<=Available,则转向3,否则等待3.系统试探分配请求的资源给进程4.系统执行安全性算法第二部分:安全性算法1.设置两个向量(1).工作向fi:Work=Available(表示系统可提供给进程继续运行所需要

2、的各类资源数冃)(2).Finish:表示系统是否有足够资源分配给进程(True:有;False:没有).初始化为False2.若Finish[i]=False&&Need<=Work,则执行3;否则执行4(1为资源类别)3.进程P获得第i类资源,则顺利执行直至完成!并释放资源:Work=Work+Allocation;Finish[i]=true;转24.若所有进程的Finish[i]=true,M表示系统安全;否则,不安全!程序说明:一、开发语言:C语言二、本程序模拟的是课本P97“银行家算法之例”编写的。即系统中有

3、五个进程{0,1,2,3,4}和三类资源{A,B,C},各进程的初始资源分配情况及各资源的总数量均参照该例了。三、本程序中共四个函数分别为:zhibiao(),apply(),test(),及主函数main()其中:1、zhibiao()的功能为:直观的列出系统某时刻的资源分配情况。2、apply。的功能为:进程发出资源请求后,系统试探着把资源分配给该进程并修改数据结构屮的数值。3、tcst()的功能为:系统的安全性检测。四、需要注意的问题:1、本程序的前提是假设当前只有一个进程请求资源。2、一口操作不符合要求会得到意想

4、不到的结果!再按任意键可能该程序也不能正常运行,则就关闭该程序,然后再打开重新运行便可.五、课本上的例子在这个程序中运行后成功。例如:Pl:Request1(1,0,2)p4:Request4(3,3,0)P0:Request0(0,2,0)再测试P():Request()((),l,O)同课木上的结果和同。本程序还有很多不足,功能不很完善,只是适合于当前只有一个进程请求资源,且进程和资源都是事先固定好的.源代码:#include"dos.h"#include"conio.h"#include"alloc.h"intav

5、ailable⑶二{3,3,2};intmax[6]⑶二{{7,5,3},{3,2,2},{9,0,2},{2,2,2},{4,3,3}};intallocation[6][3]={{0,1,0},{2,0,0},{3,0,2},{2丄1},{0,0,2}};intnccd[6][3]={{7,4,3},{1,2,2},{6,0,0},{0,1,1},{4,3,1}};intlive[5]={1,1,1,1,1};intstay⑶⑶;intrequest[3],process[5];inti,j,p=5,pro,x,kl

6、;voidzhibiao(){x=l;printf(*'MaxAllNeeAvaM);printf(HPROABCABCABCABCH);for(i=0;i

7、j]);}printf(n“);for(j=0;j<=2;j++){pnntf(

8、n%-3du,needLiJ[jJ);}printf(””);)if(x==1&&live[i]==1){printf(,,%-3d%-3d%-3d,,,available[0],available[l],available[2]);x=0;}if(live[i]==l)printf(,,n);}}intapply(){intv=l;for(i=0;i<=2;i++){if(needLproJ[iJ

9、k;}}if(v==l){for(i=0;i<=2;i++){stay[O][i]=allocation[pro][i];allocation[pro][i]+=request[i];stay[l][i]=need[pro][i];need[pro][i]-=request[i];stay[2][i]=availab

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。