操作系统课程设计-银行家算法(流程图 源代码 设计报告)
操作系统课程设计-银行家算法(流程图+源代码+设计报告)
一、实验目的:
熟悉银行家算法,理解系统产生死锁的原因及避免死锁的方法,加深记意。
二、实验要求:
用高级语言编写和调试一个描述银行家算法的程序。
三、实验内容:
1、设计一个结构体,用于描述每个进程对资源的要求分配情况。包括:进程名——name[5],要求资源数目——command[m](m类资源),还需要资源数目——need[m],已分配资源数目——allo[m]。
2、编写三个算法,分别用以完成:①申请资源;
②显示资源;③释放资源。(动态完成)
四、程序流程图
五、源程序:最新版本:bk5.c
/*bk2.c::可以自定义进程及资源数目,可选择读文件或创建新文件,但不超过10,5*/
/*可修改# define NP 10*/
/* # define NS 5 */ /*资源种类*/
/*bk3.c::可以继续分配资源(〉2)*/
/*bk4.c::可保存分析结果*/
/*bk5.c::除以上功能外,对暂时不能分配的可以进行另外一次尝试,并恢复已分配的资源*/
/*
四、程序流程图:
五、源程序:最新版本:bk5.c
/*bk2.c::可以自定义进程及资源数目,可选择读文件或创建新文件,但不超过10,5*/
/*可修改#define NP10*/
/* #define NS5*//*资源种类*/
/*bk3.c::可以继续分配资源(〉2)*/
/*bk4.c::可保存分析结果*/
/*bk5.c::除以上功能外,对暂时不能分配的可以进行另外一次尝试,并恢复已分配的资源*/ #include "string.h"
#include "stdio.h"
#include"dos.h"
#include"conio.h"
#define MOVEIN1
#define GUIYUE2
#define ACC3
#define OK1
#define ERROR0
#define MAXSH7
#define MAXSHL10
#define MAXINPUT50
#define maxsize 100
int act;
int ip=0;
int line=0; /*line为要写的行号,全局变量*/
int writeok;
int right;
char wel[30]={"Welcome To Use An_Li System"};
char ente[76]={" 警告:未经作者同意不得随意复制更改!"};
char rights[40]={"Copyright (c)2002"};
struct date today;
sssssssssssss;
ttttttttttttt
{int data[maxsize];
int top;
}stack;
int emptystack(stack*S)
{if(S->top==48&&S->data[S->top]==35)return(1); /*35is'#'*/
else return(0);
}
int push(stack*S,int x)
{if(S->top>=maxsize-1)return(-1);
else{S->top++;
S->data[S->top]=x;
return(0);
}
}
int gettop(stack*S)
{return S->data[S->top];
}
int pop(stack*S)
{if(emptystack(S)){
printf("the stack is empty\n");
exit(1);}
else S->top--;
return S->data[S->top+1];
}
void initstack(stack*S)
{int i;
S->top=0;S->data[S->top]=35;
}
/*****模拟打字机的效果*********/
delay_fun()
{
int i;
void music();
for(i=0;;i++)
{
if(wel!='\0')
{
delay(1000);
textcolor(YELLOW);
gotoxy(26+i,8);
cprintf("%c",wel);
printf("谢谢");
printf("网络");
music(1,60);
}
else break;
}
delay(500000);
for(i=0;;i++)
{
if(ente!='\0')
{
delay(1000);
textcolor(RED);/*显示警告及版权*/
gotoxy(2+i,11);
cprintf("%c",ente);
music(1,60);
}
else break;
}
delay(40000);
for(i=0;;i++)
{
if(rights!='\0')
{
delay(1000);
textcolor(YELLOW);
gotoxy(30+i,14);
cprintf("%c",rights);
music(1,60);
}
else
break;
}
getch();
}
/*********登陆后的效果**********/ logined()
{int i;
clrscr();
gotoxy(28,10);
textcolor(YELLOW);
cprintf("程序正在载入请稍候....."); gotoxy(35,12);
for(i=0;i<=50;i++)
{
gotoxy(40,12);
delay(8000);
cprintf("%02d%已完成",i*2);
gotoxy(i+15,13);
cprintf("\n");
cprintf("|");
}
main0();
}
/*********对PC扬声器操作的函数****/
void music(int loop,int f)/*f为频率*/ {int i;
for(i=0;i<30*loop;i++)
{
sound(f*20);
delay(200);}
nosound();
}
int analys(int s,int a)
{int hh,pos;
switch(a)
{case(int)'i':hh=0;break;
case(int)'+':hh=1;break;
case(int)'*':hh=2;break;
case(int)'(':hh=3;break;
case(int)')':hh=4;break;
case(int)'#':hh=5;break;
case(int)'E':hh=6;break;
case(int)'T':hh=7;break;
case(int)'F':hh=8;break;
default:{printf("\n analys()分析发现不该有的字符%c!(位置:%d)",a,ip+1); writeerror('0',"\n............分析出现错误!!!");
writeerror(a,"\n 错误类型: 不该有字符");
printf("谢谢");
printf("网");
return ERROR;
}
}
pos=(s-48)*10+hh;
switch(pos)
{case3:
case43:
case63:
case73:act=4;return MOVEIN;
case0:
case40:
case60:
case70:act=5;return MOVEIN;
case11:
case81:act=6;return MOVEIN;
case92:
case22:act=7;return MOVEIN;
case84:act=11;return MOVEIN;
/*-------------------------------------------*/
case91:
case94:
case95:
act=1;return GUIYUE;
case21:
case24:
case25:
act=2;return GUIYUE;
case101:
case102:
case104:
case105:act=3;return GUIYUE;
case31:
case32:
case34:
case35:act=4;return GUIYUE;
case111:
case112:
case114:
case115:act=5;return GUIYUE;
case51:
case52:
case54:
case55:act=6;return GUIYUE;
/*+++++++++++++++++*/
case15:return ACC;
/*******************************/
case6:return1;
case7:
case47:return2;
case8:
case48:
case68:return3;
case46:return8;
case67:return9;
case78:return10;
default:{if(a=='#')printf("");
else printf("\n analys() 分析发现字符%c 不是所期望的!(位置:%d)",a,ip+1);
writeerror(' …… 此处隐藏:12278字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [基础教育]2016-2022年中国钢芯铝绞线市场现状调
- [基础教育]语文部编版初一语文下册练习题 句式变
- [基础教育]南京继续教育参考答案--深入学习贯彻习
- [基础教育]国旗下讲话稿——珍惜时间好读书
- [基础教育]北师大版六年级数学下册圆锥的体积教学
- [基础教育]人教版-音乐-四年级下册-四年级下册音
- [基础教育]乔布斯2019年斯坦福大学毕业典礼致辞.d
- [基础教育]2015年加油站安全知识竞赛试题及答案
- [基础教育]2020年教师年度考核个人工作总结
- [基础教育]2019年中考历史试题-2019年大庆市初中
- [基础教育]初三仁爱英语第一轮总复习教案
- [基础教育]SG-A094电气配管安装工程隐蔽验收记录
- [基础教育]冀教版小学数学三年级下册第六单元教材
- [基础教育]青岛版(五制)小学科学二年级下册16《制
- [基础教育]2018-2019年初中科学初一中考真卷测试
- [基础教育]幼儿园大班期末简短评语精选
- [基础教育]2018云南临沧公务员考试申论技巧:这样
- [基础教育]学校食堂经营管理方案
- [基础教育]新中国砥砺奋进的七十年原文
- [基础教育]真空泵的选型及常用计算公式
- 高职田径课程教学现状与对策
- 全髋关节置换术在老年股骨颈骨折患者中
- 青人社厅函〔2016〕576号(附件)工资
- cp101-07砂子检验作业指导书 - secret
- 微观经济学 第八章 博弈论 习题
- 2014高考真题(词语运用)汇编及答案
- 2018年人教版七年级语文下册《第三单元
- 苏教版数学四年级上册第一单元试题 - M
- 四川大学新闻与传播考研2000-2010年真
- 浙江万里学院英语专业四年制本科教学计
- 最新2018马年事业祝福语-范文word版(2
- 最全模具行业术语英文翻译
- 皮亚杰的发展心理学理论
- 64篇高考情景式默写 练习题及答案
- 仿写(学生稿)
- 《SQL Server数据库技术》试卷A
- 第七章作业答案
- 江苏省赣榆县海头高级中学高中语文必修
- 浙江省2001年10月自考正常人体解剖学答
- 2012英语重点短语




