动态分区存储管理的模拟实现(共13页).doc
《动态分区存储管理的模拟实现(共13页).doc》由会员分享,可在线阅读,更多相关《动态分区存储管理的模拟实现(共13页).doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上计算机科学与工程学院学生实验报告专 业计算机科学与技术班 级学 号姓 名课程名称操作系统课程类型专业必修课实验名称动态分区存储管理的模拟实现实验目的:1. 熟悉动态分区存储管理方式下,主存空间的分配和回收算法。2. 提高C语言编程能力。实验内容:假设主存当前状态如右表所示:系统采用最佳适应分配算法为作业分配主存空间,而且具有紧凑技术。请编程完成以下操作:(1). 输出此时的已分配区表和未分配区表;(2). 装入 Job3(15K),输出主存分配后的已分配区表和未分配区表;(3). 回收 Job2所占用的主存空间,输出主存回收后的已分配区表和未分配区表;(4).装入 J
2、ob4(130K),输出主存分配后的已分配区表和未分配区表。实验要求1.数据结构参考定义如下,也可根据需要进行改进:(1)已分配区表:#define n 10 /*假定系统允许的最大作业数量为n,n值为10*/structint number; /*序号*/ int address;/*已分配分区起始地址,单位为KB */ int length;/*已分配分区长度,单位KB*/ float flag;/*已分配区表登记栏标志,0:空表项,否则为作业名;*/used_tablen;/*已分配区表*/(2)未分配区表:#define m 10 /*假定系统允许的空闲区表最大为m,m值为10*/st
3、ructint number; /*序号*/ int address; /*空闲区起始地址,单位为KB */ int length;/*空闲区长度,单位为KB*/ int flag;/*空闲区表登记栏标志,0:空表项;1:空闲区*/free_tablem;/*空闲区表*/2.以allocate命名主存分配所用的过程或函数(算法参考课件),要将各种情况考虑周全。3.以reclaim命名主存回收所用的过程或函数(算法参考课件),要将各种情况考虑周全。4.画出算法实现的N-S流程图。5.程序调试、运行成功后,请老师检查。实验步骤:1. 分配内存,结果如下图:2. 回收内存,结果如下图:3. 合并内存
4、,结果如下图:4.N-S流程图: 4.1 内存分配流程图:4.2 内存回收流程图:附录 程序代码:#define _CRT_SECURE_NO_WARNINGS 1 #include#includeenum STATE Free,Busy; struct subAreaNode int addr; / 起始地址int size; / 分区大小int taskId; / 作业号STATE state; / 分区状态subAreaNode *pre; / 分区前向指针subAreaNode *nxt; / 分区后向指针subHead;/ 初始化空闲分区链void intSubArea()/ 分配初
5、始分区内存subAreaNode *fir = (subAreaNode *)malloc(sizeof(subAreaNode);/ 给首个分区赋值fir-addr = 0;fir-size = 240; / 内存初始大小fir-state = Free;fir-taskId = -1;fir-pre = &subHead;fir-nxt = NULL;/ 初始化分区头部信息subHead.pre = NULL;subHead.nxt = fir;/ 最佳适应算法int bestFit(int taskId, int size)subAreaNode *tar = NULL;int tarS
6、ize = 240 + 1;subAreaNode *p = subHead.nxt;while (p != NULL)/ 寻找最佳空闲区间if (p-state = Free & p-size = size & p-size size;p = p-nxt;if (tar != NULL) / 分配大小为size的区间subAreaNode *node = (subAreaNode *)malloc(sizeof(subAreaNode);node-addr = tar-addr + size;node-size = tar-size - size;node-state = Free;node
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 动态 分区 存储 管理 模拟 实现 13
限制150内