原题:实验三 存储管理---设计测试实验
1.设计一个固定式分区分配的存储管理方案,并模拟实现分区的分配和回收过程。
可以假定每个作业都是批处理作业,并且不允许动态申请内存。为实现分区的分配和回收,可以设定一个分区说明表,按照表中的有关信息进行分配,并根据分区的分配和回收情况修改该表。
要求:
1)描述模型,定义数据结构。
定义分区说明表项数据结构,分区说明表由若干个表项组成。分区表内各分区根据长度按由小到大排序。输入功能项,执行相应服务。若要分配内存,输入作业名和长度即进行处理。若要回收内存,输入作业名即可。
2)写代码实现并运行调试。
3)给出的运行数据和结果。
设计代码如下:
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#define N 4 //系统允许最大分区说明表项数为4
struct memoryTab
{
int no;//区号
int size;//长度
int firstAddr;//首地址
int state;//状态,1表示未分配,0表示已分配
char user;//使用分区的作业名,未被分配时为*
}tab[N];//分区说明表
v