2 / 11
{
char name; // 进程名
int address, len, valid; // 进程所占分区起止、长度、该 PCB有效标
识( 1 有效, 0 无效)
}PCB;
typedef struct seqlist
{
PCB PCBelem[maxPCB]; // maxPCB 为系统中允许的最多进程数
int total; // 系统中实际的进程数
} PCBseql;
typedef struct Partition
{
int address, len, valid; // 分区起址、长度、有效标识( 1 空
闲, 0 已分配)
}Part;
typedef struct Partlist
{
Part Partelem[maxPart]; // maxPart 为系统中可能的最多分区数
int sum; // 系统中实际的分区数
}Partseql;
int length = 640 ;// 系统有 640 的空闲
PCBseql *pcbl;
Partseql *partl;
void initpcb(PCBseql *vpcbl,int adr); // 初始化进程表 vpcbl
void getprint();
void initpart(); // 初始化分区表 vpartl
void request (char name, int len); // 进程 name 请求 len 大小的内存
void release(char name); // 回收 name进程所占内存空间
void print(); // 输出内存空闲分区
/*
void printp()