⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sys.h

📁 链表实现的银行家算法
💻 H
字号:
#if !defined(AFX_SYS_H__460E9038_C3AA_4F0B_BF25_51F588E9601C__INCLUDED_)
#define AFX_SYS_H__460E9038_C3AA_4F0B_BF25_51F588E9601C__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "PCB.h"
#include "Res.h"
class Sys  
{
public:
	int pcbLen;//指进程的个数
	int resLen;//指资源的个数
	//int **Max;//每个进程对每个资源的需求量
	bool *Flag;//每个进程的标志
	int *Work;//每个资源的情况
	int *Remain;
	//bool *State;//每个进程的状态
	Res *headRes;
	Res *tailRes;
	PCB *headPCB;
	PCB *tailPCB;
public:
	Sys();
	virtual ~Sys();
	bool IsSecurity(char *name[]);//判断是否有安全序列
	void PrintPCB();//输出PCB对资源的需求信息
	void PrintRemainRes();//输出Res的剩余的数量
	void InitSys();//初始化一个sys
	//void PrintRes(PCB *tempPCB);//输出tempPCB对资源的需求量
	void PrintSys();//输出各进程对各资源的需求情况
private:
	bool InsertRes(Res *res);//插入Res
	void CompleteRes();//完成对Res的插入
	bool InsertPCB(PCB *pcb);//插入PCB
	void CompletePCB();//完成对PCB的插入
	void FreeRes();//释放Res的内存资源
	void FreePCB();//释放PCB的内存资源
	void ReadRes();//从res.txt文件中获取相关数据
	void ReadPCB();//从pcb.txt文件中获取相关数据
	void ConstructWork();//初始化Work为Remain
	void ConstructRemain();//初始化Remain为系统资源的总量
};
#endif // !defined(AFX_SYS_H__460E9038_C3AA_4F0B_BF25_51F588E9601C__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -