job.h
来自「操作系统课程设计的段式管理的实现程序。包含了分区说明表的建立」· C头文件 代码 · 共 43 行
H
43 行
#ifndef _H_H_JOB
#define _H_H_JOB
#include<iostream>
#include<vector>
using namespace std;
typedef int PID;
int randInt(int low,int high,int base=1);//产生low-high范围内是base整数倍的整数
struct BlockItem //已分配表
{
BlockItem(int sAddr=0,int len=0,PID pid=PID());
int output();
int sAddr;//起始地址
int len;//长度
PID pid;//分配给的进程号
};
struct FreeItem
{
FreeItem(int sAddr,int len);
int sAddr;//起始地址
int len;//长度
int output();
};
typedef vector<BlockItem> BlockTable;
typedef vector<FreeItem> FreeTable;
extern BlockTable btable;//已分配表
extern FreeTable ftable; //空闲分区表
extern int JobSize;
bool cmpFreeItem(FreeItem& f1,FreeItem& f2);//按大小比较两个空闲分区
struct Job
{
static PID pidIndex;
PID pid;//作业标示号
int length;//作业长度
int startAddress;//作业装入地址
public:
Job(PID pid=PID(),int length=0);
int output();
PID initJob();//随机初始化作业
int Alloc();//给作业分配内存
int Free();//回收作业内存
};
typedef vector<Job> JobList;
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?