好文档 - 专业文书写作范文服务资料分享网站

实验五 动态分区分配算法

天下 分享 时间: 加入收藏 我要投稿 点赞

实验五 动态分区分配算法

一、目的和要求

掌握动态分区分配方式中的数据结构、分配算法,针对不同的分配算法如何实现内存空间的分配与回收,必要时如何实现“紧凑”。

二、实验内容

编写一个内存动态分区分配模拟程序,分别实现:首次适应、循环首次适应、最佳适应算法,对内存的分配和回收过程,必要时进行“紧凑”。

每次分配和回收后把空闲分区的变化情况以及个进程的申请、释放情况最好以图形方式显示,尽量可能设计一个友好的用户界面,直观显示内存区域经分配、回收、紧凑后的动态变化情况。

实现提示:

(1)数据结构

可采用链表表示内存使用情况,链表中的结点可以给出对应的某块内存区域的信息,如:区号、起始地址、大小、使用情况(是否空闲)、所装入的进程名等。可以设置两个链表,一个是空闲分区表,一个是已分配分区表。

可通过菜单的选项来完成进程对内存的申请或释放操作。 (2)内存分配

选择分配算法,根据进程申请的内存空间实施分配,若分配成功,返回所得的内存首地址,并显示调整后的空闲分区表。若没有单个空闲分区满足进程需求,而紧凑后可以满足,则实施紧凑并分配。若紧凑后仍不能满足,则分配失败。 (3)内存回收

进程结束后,回收其占有的内存,按内存回收的四种情况进行回收。 (4)排序

无论是分配还是回收,都要按相应的分配算法对空闲分区的组织要求重新排序。

测试用例:某操作系统采用可变分区分配存储管理方法,用户区为512K

且始址为0。若分配时采用分配空闲低地址部分的方案,其初始时用户区的512K空间空闲,对下述申请、释放序列:申请300K,申请100K,释放300K,申请150K,申请30K,申请40K,申请60K,释放30K;运行程序显示两种算法的运行结果:

(1)采用首次适应算法,空闲分区中有哪些空闲块(给出始址,大小)? (2)采用最佳适应算法,空闲分区中有哪些空闲块(给出始址,大小)?

三、实验环境

1.PC微机。

2.Windows 操作系统。 3.C/C++/VB等开发集成环境。

四、实验结果

1. 程序源代码。

要求:(1)含有详细注释;(2)能编译运行并得到正确结果。 2 实验报告。

实验报告内容包括:(1)程序的框架说明;(2)各动态分区分配算法的设计思想;(3)解决方法的整体流程;(4)运行结果及分析;(5)对几种动态分区分配算法进行比较。

实验五 动态分区分配算法

实验五动态分区分配算法一、目的和要求掌握动态分区分配方式中的数据结构、分配算法,针对不同的分配算法如何实现内存空间的分配与回收,必要时如何实现“紧凑”。二、实验内容编写一个内存动态分区分配模拟程序,分别实现:首次适应、循环首次适应、最佳适应算法,对内存的分配和回收过程,必要时进行“紧凑”。每次分配和回收后把空
推荐度:
点击下载文档文档为doc格式
0kvto4227k44p5c1cp2i5zpak1cssx00d98
领取福利

微信扫码领取福利

微信扫码分享