课程设计-死锁的避免-C++

课程设计-死锁的避免-C++,第1张

课程设计-死锁的避免-C++

 在此之间你需要创建三个文件Available_list.txt,Max_list.txt,Allocation_list.txt,把三个文件和程序放在同一个文件夹里,三个文件编写格式如下

available.txt

3(代表资源种类,括号里面的文字不用写,只是解释)

3 9 7(各种资源数量)

Max_list.txt

4(进程数量)

2 3 1

1 1 1

1 3 4

1 2 1

Allocation._list.txt

0 0 0 

0 0 1

1 0 1

1 0 1

像这样

 

#include 
#include 
#include //Windows内核API,图形界面接口,图形设备函数等重要的功能 
 
#define MAX_PROCESS 32              //最大进程数
#define MAX_RESOURCE 64              //最大资源类别
 
int PROCESS_NUM;              //实际总进程数
int RESOURCE_NUM;               //实际资源类别数
int Available[MAX_RESOURCE];                 //可利用资源向量
int Max[MAX_PROCESS][MAX_RESOURCE];          //最大需求矩阵
int Allocation[MAX_PROCESS][MAX_RESOURCE];   //分配矩阵
int Need[MAX_PROCESS][MAX_RESOURCE];         //需求矩阵
 
int Request_PROCESS;                       //发出请求的进程
int Request_RESOURCE_NUMBER[MAX_RESOURCE];     //请求资源数????? 
 
void Read_Available_list();      //读入可用资源Available
void Read_Max_list();           //读入最大需求矩阵Max
void Read_Allocation_list();    //读入已分配矩阵Allocation
void PrintInfo();               //打印各数据结构信息
void Read_Request();			//输入请求向量
void Allocate_Source();         //开始正式分配资源(修改Allocation_list.txt)
void Recover_TryAllocate();     //恢复试分配前状态
int Test_Safty();               //安全性检测
void RunBanker();               //执行银行家算法
using namespace std;
 
//读入可用资源Available
void Read_Available_list()      
{
	FILE *fp;
	if((fp=fopen("Available_list.txt","r"))==NULL)
	{ 
		cout<<"错误,文件打不开,请检查文件名"<Request_PROCESS;
 
	cout<<"输入请求资源的数目:按照这样的格式输入 x x x:";
	for(int i=0; i>Request_RESOURCE_NUMBER[i];
}
 

 
 
//安全性检测
//返回值:0:未通过安全性测试; 1:通过安全性测试
int Test_Safty()
{                        
	//请完成安全性检测算法的编程
	cout<<'n'<<" 进入安全性检测	!"<Work[j])
					HasResource=false;
				if(HasResource)
				{
					for(j=0;j";
	}
	cout<<'n'<<" 已通过安全性测试	!"<Need[Request_PROCESS][i])
		{
			cout<<"n第"<Available[i])
		{
			cout<<"n第"<>c;
		if(c=='n')
			break;
		cout< 

一年一度的课程设计,却不知道根本原理,友情提醒各位用户,当我们输入数值时,如果我们没有出现安全序列,说明发生了死锁。

如果有问题,欢迎指正,有问题请教也可以,还有本代码只是借鉴别人的,并非本人一瘦创作,只是在原有的基础上进行了改编。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5670795.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存