- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                
   
实验报告
操作系统算法科学与技术    学    号: 130405324
实验室号: 信息 205   实验组号:    24        
实验时间: 2015.5. 18   批阅时间:            
指导教师:            成    绩:            
沈阳工业大学实验报告
(适用计算机程序设计类)
专业班级: 计算机1303班       学号: 1304053249           姓名: 宁相如    
实验名称:银行家算法模拟
(1)进一步理解利用银行家算法避免死锁的问题;
(2)在了解和掌握银行家算法;
(3)理解和掌握安全序列、安全性算法。
2.实验内容:
编写银行家算法。
3.实验步骤或程序(见附件A
            
		附件A           沈阳工业大学实验报告
(适用计算机程序设计类)
专业班级: 计算机1303班      学号: 130405324              姓名: 宁相如       
实验步骤或程序:
#includestdio.h  
#includestring.h  
#includeiostream.h  
#includestdlib.h  
#includeiomanip.h  
#includeconio.h
const int MAX_P=20;
const int MAXA=10; //定义A类资源的数量  
const int MAXB=5;  //定义B类资源的数量 
const int MAXC=7;  //定义C类资源的数量 
typedef struct node{
	int a;
	int b;
	int c;
	int remain_a;
	int remain_b;
	int remain_c;  
}bank;  
typedef struct node1{
	char name[20];
	int a;
	int b;
	int c;
	int need_a;
	int need_b;
	int need_c;  
}process;  
  
bank banker;  
process processes[MAX_P];
int quantity;  
 //初始化函数  
void initial()  
{
	int i;
	banker.a=MAXA;  
	banker.b=MAXB;  
	banker.c=MAXC;  
	banker.remain_a=MAXA;  
	banker.remain_b=MAXB;
	banker.remain_c=MAXC;
	for(i=0;iMAX_P;i++)
	{
		strcpy(processes[i].name,);
		processes[i].a=0;
		processes[i].b=0;
		processes[i].c=0;
		processes[i].need_a=0;
		processes[i].need_b=0;
		processes[i].need_c=0;
	}
}  
 //新加作业  
void add()  
{
	char name[20];
	int flag=0;
	int t;
	int need_a,need_b,need_c;
	int i;
	coutendl;
	cout新加作业endl;
	cout请输入新加作业名:;
	cinname;
	for(i=0;iquantity;i++)
	{
		if(!strcmp(processes[i].name,name))
		{
			flag=1;
			break;
		}
	}
	if(flag)
	{
		cout错误,作业已存在endl;
	}
	else
	{
		cout本作业所需A类资源:;
		cinneed_a;
		cout本作业所需B类资源:;
		cinneed_b;
		cout本作业所需C类资源:;
		cinneed_c;
		t=1;
		coutneed_abanker.remain_a;
		if(need_abanker.remain_a)
		{
			cout错误,所需A类资源大于银行家所剩A类资源endl;
			t=0;
		}
		if(need_bbanker.remain_b)
		{
			cout错误,所需B类资源大于银行家所剩B类资源endl;
			t=0;
		}
		if(need_cbanker.remain_c)
		{
			cout错误,所需C类资源大于银行家所剩C类资源endl;
			t=0;
		}
		if(t)
		{
			strcp
                
原创力文档
                        

文档评论(0)