数学计算机科学学院实验报告 专业名称 软件开发已应用 实 验 室 学苑楼2#202 实验课程 计算机操作系统 实验名称 动态分区存储管理 姓 名 ____ 杨剑_______ 学 号 ___0915266______ 同组人员 _____ 无 ________ 实验日期 ____2011/5/23___ 一、【实验目的】: 1、熟悉主存分配与回收 2、理解在不同的存储管理方式,如何实现主存空间的分配与回收 3、掌握动态分区分配方式中的数据结构和分配算法及动态分区存储管理方 式及其实现过程。 二、【实验内容和要求】: 主存的分配和回收的实现是与住存储器的管理方式有关的。所谓分配,就是解决多进程如何共享主存空间的问题。所谓回收,就是当进程运行完时将进程所占的主存空间归还给系统。 实验要求使用可变分区存储管理方式,分区分配中所用的数据就够采用空闲分区说明表和空闲分区链表来进行,分区分配中所用的算法采用首次适应算法、循环首次适应算法、最佳适应算法、三种算法来实现主存的分配与回收。 同时要求设计一个实用友好的可视化用户界面,并显示分配与回收过程。 三、 【实验原理】 实验中为有效地对内存进行管理,实验中应设计一些数据结构,能有效地进行分配和回收,具体分析如下: 1、 设计一个空闲分区表,空闲分区表通过空闲分区链表来管理,在进行内存分配时,系统优先使用空闲分区低端的空间。 2、 设计一个内存分区表,可用链表管理,用以表示当前以内存使用情况。 3、 设计一个进程申请队列以及进程完成后的释放顺序,实现主存的分配和回收。 4、 要求每次分配和回收后把空闲分区的变化情况以及各进程的申请、释放情况以及各进程的申请、释放情况以图形方式显示、打印出来。 四、 【实验环境】(使用的软件) Microsoft Visu al C++ 6.0 五、【实验设计分析】: 内存分配: ①动态输入构造空闲区表,并显打印示构造好的空闲分区表。 ②键盘接收内存申请。 ③根据申请,实施内存分配,并返回分配所得内存首址。 ④分配完后,调整空闲分区表(即扣除分配部分),并显示调整后的空闲分区表。 ⑤若分配失败,返回分配失败信息。 内存回收: ①显示当前的空闲分区表和内存分区表。 ②从键盘接收回收分区的首址与大小,按内存回收的四种情况进行内存回收。 ③显示回收后已调整好的的空闲分区表 六、【实验过程和步骤】: ● 数据结构设计 ① 空闲分区表的设计,该空闲分区表记录内存中未使用的各个分区,记录内容有未...