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

📄 mystruct.h

📁 C++实现的模拟操作系统
💻 H
字号:
//是否分配设备
#define MD_NULL 1    
#define MD_A	2
#define MD_B	3
#define MD_C	4
#define MD_BC	5
#define MD_AC	6
#define MD_AB	7
#define MD_ABC	8
//中断类型
#define HALT_TIME	1
#define HALT_NA		2
#define HALT_NB		3
#define HALT_NC		4
#define HALT_NBC	5
#define HALT_NAC	6
#define HALT_NAB	7
#define HALT_NABC	8
#define HALT_NOUT	9
#define HALT_NINPUT	10
//////////////////////////////////////////////////////////////////////
//cpu解析指令的结构体
//////////////////////////////////////////////////////////////////////
typedef struct Scpudictate{
	CString strename; //指令名
	int iparstate[3]; //描述参数状态。第一个数组表示有几个参数,第二个
       	              //和第二个分别表示一,二个参数的类型。1为 int,2为CString。
	CString strpar[2];
	int ipar[8];

}Sdictate;
//////////////////////////////////////////////////////////////////////
//进程结构体
//////////////////////////////////////////////////////////////////////
typedef struct Sprocess{
	double  ID;            //每个进程的唯一标示号。为系统时间。
	CString strname;       //进程名
	int istate;            //进程状态,0:中断,1:就绪,2:运行
	int idictatenum;       //指令个数
	int idictaterun;       //指令执行的位置
	int isavereg[8];       //寄存器保存,顺序为:ax.bx.cx.cs.ds.psw.
	int ihaltreasion;      //中断原因  1时钟中断,2等待设备A,3等待设备B,4等待设备C,5等待输入
	int waittime;          //中断时的等待时间。
	int iequipment;        //是否分配设备.0:无,1:分配设备A,2:分配设备B,3:分配设备C
	Sdictate pdictate[50]; //指令集
}Sprocess;
//////////////////////////////////////////////////////////////////////
//主存PCB区结构体
//////////////////////////////////////////////////////////////////////
typedef struct Smemorypcb{
	bool full;        //是否空,FALSE为空
	int address;      //在内存中的起始地址
	Sprocess pcb;
}PCB;
//////////////////////////////////////////////////////////////////////
//主存结构体
//////////////////////////////////////////////////////////////////////
typedef struct Smemory{ 
	PCB pcb[11];          //用数组模拟主存PCB区
	int index[64];        //用数组模拟主存分配表
	int usememory[64][8]; //用数组模拟主存客户区
}Smemory;

⌨️ 快捷键说明

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