实验报告撰写要求 实验报告要求具有以下内容: 一、实验目的 二、实验内容 三、实验要求 四、算法流程图 五、给出测试数据及运行结果 六、实验体会或对改进实验的建议 操作系统实验课第三次实验及代码 实验3 内存管理(2学时) 一、实验目的 通过实验加强对内存管理方法的理解和掌握
二、实验内容 编写程序实现采用可变分区方法管理内存
三、实验要求 1、在该实验中,采用可变分区方式完成对存储空间的管理(即存储空间的分配与回收工作)
2、设计用来记录主存使用情况的数据结构:已分区表和空闲分区表或链表
3、在设计好的数据结构上设计一个主存分配算法
4、在设计好的数据结构上设计一个主存回收算法
其中,若回收的分区有上邻空闲分区和(或)下邻空闲分区,要求合并为一个空闲分区登记在空闲分区表的一个表项里
5、(附加)若需要可以实现程序的浮动,对内存空间进行紧凑
#include #include #include #include #include using namespace std; typedef struct node { int ID; //分区 ID struct node *next; //指向下个分区的指针 float beginAddress;//分区起始地址 float length;//分区长度 int ZY;//分区是否被占用,1 被占用,0 未被占用 } FQ; FQ *First=(FQ*)malloc(sizeof(FQ)); //链表的头指针 int FQCount=0;//分区的个数 void display();//显示内存状态 void FenPei(float len);//主存分配函数 void HuiShou(int id);//主存回收函数 int maxID=0; int main() { //初始化内存分区状态 fstream