文档详情

实验8内存管理实验讲述.ppt

发布:2017-03-25约小于1千字共9页下载文档
文本预览下载声明
实验8 内存管理实现 实验类型及目的 综合型实验; 理解内存管理相关理论; 掌握连续内存管理理论; 掌握动态连续内存管理理论。 实验内容 编写进程管理程序,模拟实现进程管理的部分功能。 模拟管理64M的内存块; 设计内存分配函数; 设计内存回收函数; 实现动态分配和回收操作; 可动态显示每个内存块信息。 实验要求 编写程序完成实验内容; 分配和回收次数≥20; 画出内存分配和回收函数流程图; 撰写实验报告。 测试要求 进行10次以上内存分配请求; 进行5次以上内存释放请求; 在释放过程中必须出现2次以上内存连接的情况。 实验指导 连续内存分配:为一个用户程序分配一个连续的内存空间,它分为单一连续分配,固定分区分配和动态分区分配,在本实验中,我们主要讨论动态分区分配。 动态分区分配:根据进程的实际需要,动态地为之分配内存空间。在实现可变分区分配时,将涉及到分区分配中的所用的数据结构、分区分配算法和分区的分配与回收操作这几个问题。 实验指导 分区分配中的数据结构 空闲分区表 空闲分区链 分区分配算法 首次适应算法 循环首次适应算法 最佳适应算法 实验指导 内存分配操作 按设计分配算法查找到满足要求的内存块,设请求内存大小为u.size,而分配的内存块大小为m.size,如果m.size-u.size≤size (size为设定的不可再分割的内存大小),则不再切割; 反之,按u.size分配给申请者,剩余的部分仍留在内存链(表)中。 实验指导 回收内存 根据回收区地址,从空闲链表中找到相应的插入点。 回收区与插入点的前一个空闲分区相邻 回收区与插入点的后一个空闲分区相邻 回收区与前(F1)后(F2)分区相邻 回收区不与任何分区相邻
显示全部
相似文档