资源简介
模拟主存储器空间的分配和回收。
代码片段和文件信息
#include
#include
#define MAX_SIZE 128 //系统分配给用户的最大内存
typedef struct MCB{//内存控制块
int add; //分区起始地址
int sta; //分区状态,0为可用
int size; //分区大小
int jno; //分区装入作业号作业号从1开始
struct MCB* next; //链连指针
}MCB;
MCB *free_table*ft; //可用分区的头指针,尾指针
MCB *used_table*ut; //已分配分区的头指针,尾指针
void initFree_table()//初始化可用区链表初始大小为整个用户分区
{
if(!(free_table=(MCB*)malloc(sizeof(struct MCB))))
exit(1);
free_table->add = 0;
free_table->size = MAX_SIZE;
free_table->sta = 0;
free_table->jno = 0;
free_table->next = NULL;
ft=free_table;
}
void initUsed_table()//初始化已分配分区链表
{
if(!(used_table=(MCB*)malloc(sizeof(struct MCB))))
exit(1);
used_table->add = 0;
used_table->size = 0;
used_table->sta = 1;
used_table->jno = 0;
used_t
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6730 2018-12-21 20:46 main.cpp
文件 178176 2018-12-21 20:38 实验三 存储器管理.doc
文件 46055 2018-12-21 20:46 a.exe
评论
共有 条评论