实验五 动态分区分配方式内存管理模拟

实验五 动态分区分配方式内存管理模拟

ID:6646041

大小:35.50 KB

页数:3页

时间:2018-01-21

实验五 动态分区分配方式内存管理模拟_第1页
实验五 动态分区分配方式内存管理模拟_第2页
实验五 动态分区分配方式内存管理模拟_第3页
资源描述:

《实验五 动态分区分配方式内存管理模拟》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验五动态分区分配方式内存管理模拟一、实验目的1)掌握连续分配方式内存管理理论2)掌握动态分区分配方式内存管理理论二、实验原理动态分区分配:根据进程的实际需要,动态地创建分区为之分配内存空间,在实现动态分区分配时,将涉及分区分配中所使用的数据结构,分区分配算法和分区的分配与回收操作等问题。1)分区分配中的数据结构空闲分区表:一个数据表,用于记录每个空闲块的情况,如起始地址、大小、使用情况等;空闲分区链表:把所有的空闲分区链接成一个链表,便于内存空间查看与分配回收。2)分配算法首次适应法:空闲分区按首地址递增次序组织,每次查找时从链首出发,寻找满足要求的内存块。循环首次适应算法

2、:空闲分区按首地址递增次序组织,每次从上次查找的下一个空闲块开始查找,直到找到满足要求的内存块。最佳适应法:空闲分区按空闲分区大小址递增次序组织,每次查找时从链首出发,寻找满足要求的最小内存块进行分配。最坏适应法:空闲分区按空闲分区大小递减次序组织,每次查找时直接判断最大空闲分区是否满足要求。3)内存分配过程利用分配算法找到满足要求的内存块,设请求的内存大小为size:若找到的空闲分区的大小等于size,完全分配;若找到的空闲分区大小大于size,且一分为二后,剩余大小小于1K,则不再分割,作为整体进行分配;否则一分为二,剩余部分仍然作为空闲分区存在;若无满足要求空闲分区,则

3、分配失败2)内存回收根据释放区首址和大小,查找空闲分区表/链表,判断是否有相邻的空闲分区存在:释放区与前空闲区相邻:将释放区与前空闲区合并为一个空闲区。其首址仍为前空闲区首址,大小为释放区大小与空闲区大小之和。释放区与前后两个空闲区相邻:将这三个区合为一个空闲区,其首址为前空闲区首址,大小为这三个区大小之和,并取消原后空闲区表目。释放区与后空闲区相邻:则把释放区合并到后空闲,首地址为释放区首地址,大小为二者大小之和。释放区不与任何空闲区相邻:将释放区作为一个空闲区,将其大小和首址插入到空闲区表的适当位置。一、实验内容要求编写一个动态分区分配管理程序实现一块模拟内存空间的管理,

4、包括内存分配与回收功能。具体要求完成功能:1)模拟实现64M内存空间的管理2)设计内存分配结构,记录内存使用情况3)设计内存分配算法(首次适应法、最佳适应法、最坏适应法或循环首次适应法,任选一个)4)设计内存回收算法(考虑相邻空间的合并)5)可动态显示内存分区状况二、实验要求1)实验数据可以设计要求:至少完成10次以上内存分配、5次以上内存回收(其中分配与回收需要混合进行,且回收过程中至少涉及2次以上内存合并处理)1)实验工具不限2)实验学时4学时3)实验报告包含:实验目的、实验要求实验数据相关数据结构设计说明算法思路流程算法各数据运行结果截图

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。