动态分区分配与回收算法实验报告(共10页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《动态分区分配与回收算法实验报告(共10页).doc》由会员分享,可在线阅读,更多相关《动态分区分配与回收算法实验报告(共10页).doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上实验报告实验二 动态分区分配与回收算法一、实验目的了解动态分区分配方式中使用的数据结构和分配算法.并进一步加深对动态分区存储管理方式及其实现过程的理解。二、实验原理算法思想:1分区的个数和大小不是固定不变的.而是可变的.随装入的作业动态划分.且不会产生内部碎片。2.外部碎片:若存储块长度为N.在该系统所采用的调度算法下较长时间内无法选出一道长度不超过该块的进程.则称该块为外部碎片。3.首次适应算法(FF):FF算法要求空闲分区链以地址递增的次序链接。在分配内存时.从链首开始顺序查找.直到找到一个大小能满足要求的空闲分区为止。该算法倾向于优先利用内存中低址部分的空闲分区
2、.从而保留了高址部分的大空闲区.这为以后到达的大作业分配大的内存空间创造了条件。4.最佳适应算法(BF):每次为作业分配内存时.BF总是把能满足要求、又是最小的空闲分区分配给作业.避免大材小用。为了加速寻找.该算法要求将所有的空闲分区按其容量从大到小的顺序形成一空闲分区链.自表头开始查找到第一个满足要求的自由分区分配。该算法保留大的空闲区.但造成许多小的空闲区。 分区分配中的内存回收有四种情况:(1)回收区与插入点的前一个空闲分区相邻接。(2)回收区与插入点的后一空闲分区相邻接。(3)回收区同时与插入点的前、后两个空闲分区邻接。(4)回收分区既不与前一个分区邻接.也不与后一个分区邻接。另外.最
3、佳适应算法不需要考虑多个进程.而首次适应算法需要考虑多道程序的大小.所以前两个程序只需要输入一个进程的信息.后者因为考虑多个程序的原因.所以需要输入两个进程的信息。三、 实验步骤、数据记录及处理1、 算法流程抽象数据类型的定义:空闲分区结构体类型和结构体链表typedef struct freespaceint num; /分区号int size; /分区大小int address; /分区首地址status state; /分区状态.FREE和BUSY;typedef struct nodefreespace data;node *head;node *next;*Linklist;主程序的
4、流程以及各程序模块之间的层次(调用)关系:主函数中先调用初始化函数.再调用菜单函数引导用户选择操作和相应的算法.用switch多选择结构来判断调用firstAlloc().bestAlloc().display()还是recycle()。程序流程图:2、 运行结果分析:首次适应算法:分配结束后的空闲分区大小和起始地址与结果相同。大小起始地址30K150K20K280K112K400K最佳适应算法:分配结束后的空闲分区大小和起始地址与结果相同。大小起始地址30K400K42K470K90K210K专心-专注-专业 西安工业大学实验报告 四、总结与体会附录:源代码#include#includeu
5、sing namespace std;#define MAXSIZE 512enum status FREE, BUSY ;/枚举类型typedef struct freespaceint num; /分区号int size; /分区大小int address; /分区首地址status state; /分区状态.FREE和BUSY;typedef struct nodefreespace data;node *head;node *next;*Linklist;Linklist first,last;void init()first = new node;last = new node;fi
6、rst-head = NULL;first-next = last;last-head = first;last-next = NULL;last-data.address = 0;last-data.size = MAXSIZE;last-data.num = 0;last-data.state = FREE;void display()cout *主内存分配情况* next;while (p)cout data.num = 0)cout 空闲区 起始地址: data.address 终止地址: data.address+p-data.size 分区大小: data.size KB 状态:空
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 动态 分区 分配 回收 算法 实验 报告 10
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内