银行家安全算法 .doc

银行家安全算法 .doc

ID:56369597

大小:77.00 KB

页数:10页

时间:2020-06-22

银行家安全算法 .doc_第1页
银行家安全算法 .doc_第2页
银行家安全算法 .doc_第3页
银行家安全算法 .doc_第4页
银行家安全算法 .doc_第5页
资源描述:

《银行家安全算法 .doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、江西科技学院实验项目卡实验中心:计算机中心实验室:S2-303机房制卡时间:2013年3月实验项目名称编程实现银行家安全算法实验项目编号课程名称操作系统课程代码81211679适用专业计算机科学与技术实验学时数6实验类型综合实验要求必修实验类别专业实验实验者类别统招本科每批组数45每组人数1实验方式课内实验首开时间2005年9月变动情况说明无实验教材或指导书名称《操作系统》实验目的、实验内容、实验原理与实验要求:一、实验目的通过实验加强对银行家安全算法的理解和掌握。二、实验内容熟悉避免死锁发生的方法,死锁与安全序列的关系,编程实现银行家算法,要求输出进程的安全序列。三、实验要求1、需

2、写出设计说明;2、设计实现代码及说明3、运行结果;1输入Max和All进程的值输入ava进程的值得到Need将4个进程放到一个数组,打印判断Need与ava的大小正确错误则记下当前位置P[i],并继续与下一组比较与下一组Need比较不是安全序列输出安全序列2代码:#includemain(){inti,j,Max[5][3],All[5][3],Need[5][4],Ava[3],a[5][12],q,w,s[3];intk=0,c[5];intm=5;printf("请输入Max的值;");for(i=0;i<5;i++)for(j=0;j<3;j++)sca

3、nf("%d",&Max[i][j]);printf("请输入All的值;");for(i=0;i<5;i++)for(j=0;j<3;j++)scanf("%d",&All[i][j]);for(i=0;i<5;i++)for(j=0;j<3;j++)Need[i][j]=Max[i][j]-All[i][j];for(i=0;i<5;i++)Need[i][3]=1;/*多定义need一列将这一列作为标示位记录是否已经进程结束并初始化为1*/printf("请输入Ava的值;");for(i=0;i<3;i++)scanf("%d",&Ava[i]);for(i=0;i<

4、5;i++)/*输出need看是否将标示位赋值成功*/{for(j=0;j<4;j++)printf("%2d",Need[i][j]);printf("");}for(i=0;i<5;i++)/*将3个数组的值移到一个数组里*/for(j=0;j<3;j++)a[i][j]=Max[i][j];for(i=0;i<5;i++)for(j=0;j<3;j++)a[i][j+3]=All[i][j];for(i=0;i<5;i++)for(j=0;j<3;j++)a[i][j+6]=Need[i][j];for(j=0;j<3;j++)a[0][j+9]=Ava[j];printf

5、("MaxAllNeedAva");/*打印该数 组*/printf("ABCABCABCABC");for(j=0;j<1;j++)printf("p[%d]",j);for(j=0;j<12;j++)printf("%5d",a[0][j]);printf("");for(i=1;i<5;i++){printf("p[%d]",i);for(j=0;j<9;j++)printf("%5d",a[i][j]);printf("");}/*该程序可以判断之前的进程是否有安全序列*//*lop1:for(i=0;i<5;i++)if(Ava[0]>=Need[i][0]

6、&&Ava[1]>=Need[i][1]&&Ava[2]>=Need[i][2]&&Need[i][3]==1){Ava[0]=Ava[0]-Need[i][0]+Max[i][0];Ava[1]=Ava[1]-Need[i][1]+Max[i][1];Ava[2]=Ava[2]-Need[i][2]+Max[i][2];Need[i][3]=0;c[k]=i;k++;}if(Need[0][3]==0&&Need[1][3]==0&&Need[2][3]==0&&Need[3][3]==0&&Need[4][3]==0){gotolop2;}/*for(i=0;i<5;i++){f

7、or(j=0;j<4;j++)printf("%2d",Need[i][j]);printf("");}*//*if(m>0){m--;gotolop1;}elsegotolop3;lop2:printf("安全序列为:");for(j=0;j<5;j++)printf("P[%d]",c[j]);if(!(Need[0][3]==0&&Need[1][3]==0&&Need[2][3]==0&&Need[3][3]==0&&Need[4][3

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

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

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