shd.h
来自「操作系统课程设计~处理机调度 模拟一种多任务(或多用户)(多道)批处理操作系统(」· C头文件 代码 · 共 42 行
H
42 行
#ifndef SHD_H
#define SHD_H
#include "pcblist.h"
#include "Cpcb.h"
#include "CMem.h"
#define SCHED_PRIO 0
#define SCHED_RR 1
class CSchdQueue
{
public:
Clist<Cpcb> reserve; //后备队列
Clist<Cpcb> active; //活动进程队列
Clist<Cpcb> hang; //挂起进程队列
Clist<Cpcb> over; //完成进程队列
Clist<CMem> 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:
CSchdQueue();
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_over(Cpcb* p);
bool alloc(Cpcb* p);
void reclaim(Cpcb* p);
};
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?