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

📄 shd.h

📁 自己写的操作系统的实验:处理机调度模拟及内存分配模拟二合一小程序。
💻 H
字号:
#ifndef SHD_H
#define SHD_H

#include "pcblist.h"
#include "Cpcb.h"
#include "Cmm.h"

#define SCHED_PRIO    0
#define SCHED_RR	  1

class Crunqueue
{
public:
	Clist<Cpcb> reserve;  //后备队列
	Clist<Cpcb> active;	//活动进程队列
	Clist<Cpcb> hang;		//挂起进程队列
	Clist<Cpcb> over;		//完成进程队列
	Clist<Cmm> mm;			//空闲内存块表
	Cpcb* current;  //当前运行的进程

private:
	void in_schedule_prio();
	void in_schedule_rr();

public:
	int sched_kind;	//调度方式,默认为优先级调度
	int n_max_run;	//规定就绪队列的最大进程数目
	int n_process;	//全部进程数目
	bool usemm;
public:
	Crunqueue();
	void schedule();
	void in_schedule();
	Cpcb* randpcb(); 
	void clear();
	void deletepcb(Cpcb* p);
	void add_to_reserve(Cpcb* p);
	void add_to_reday(Cpcb* p);
	void add_to_hang(Cpcb* p);
	void active_hang(Cpcb* p);
	void add_to_over(Cpcb* p);
	bool alloc(Cpcb* p);
	void reclaim(Cpcb* p);
};
#endif

⌨️ 快捷键说明

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