shd.h
来自「自己写的操作系统的实验:处理机调度模拟及内存分配模拟二合一小程序。」· C头文件 代码 · 共 45 行
H
45 行
#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 + =
减小字号Ctrl + -
显示快捷键?