1、 课课 程程 设设 计计 课程名称 操作系统 题目名称 可变分区存储管理算法模拟 专业班级 学生姓名 学 号 指导教师 目录 蚌埠学院计算机科学与技术系课程设计任务书 1 计算机科学与技术系课程设计成绩评定标准及成绩评定表. 错误错误! !未定义书签。未定义书签。 一、引言 2 1.1 课程设计的目的 . 2 1.2 实验要求 2 1.3 预备知识 2 1.4 课程设计内容 3 二、需求分析 3 2.1 整体思路 3 2.2 设计所才用的算法 3 2.3 内存分配与回收所使用的结构体 4 2.4 关于分配留下的内存小碎片问题 4 2.5 内存的回收 4 三、总体设计 5 3.1 数据结构描述
2、5 3.1.1、全局变量 . 5 3.1.2、空闲分区表定义 . 5 3.1.3、已分配表定义 . 5 3.1.4、函数声明 . 5 3.2 流程图 6 3.2.1、系统总体流程图(如图 3-1 所示) . 6 3.2.2 作业分配流程图. 7 3.2.3 内存回收流程图. 8 四、详细设计 9 4.1 首次适应算法 9 4.2 最佳适应算法 . 10 4.3 最差适应算法 . 12 4.4 内存回收 . 14 五、测试运行. 16 5.1、后台代码的截图 16 5.1.1 初始化程序,使用首次适应、最优动态、最坏适应等算法进行内存分 配 . 16 5.1.2 查看内存分配状态 17 5.1.
3、3 上下无空闲邻接回收 17 5.1.4 上邻接空闲区回收 18 5.1.5 上下邻接区 18 六、心得体会. 19 七、参考教材. 20 附录:源代码. 21 1 计算机科学与技术系课程设计任务书计算机科学与技术系课程设计任务书 课 程 操作系统 班级 2013 级软件工程 指导教师 题 目 可变分区存储管理算法模拟 完成时间 2015 年 5 月 25 日 至 2015 年 6 月 21 日 主 要 内 容 要求完成以下功能: 1能够输入作业情况和申请信息等。 2能够采用不同算法实现内存分配。 3能够实现内存回收。 4能够显示内存分配情况。 5设计良好的交互界面。 6撰写课程设计报告。 设
4、 计 报 告 要 求 1封面:(格式附后) 2课程设计任务书 3课程设计报告: 系统总体方案 设计思路和主要步骤 各功能模块和流程图 设计代码 心得体会和参考资料 说明:学生完成课程设计后,提交课程设计报告及软件,要求文字通畅、字迹 工整(也可用以打印),文字不少于 5000 字,并装订成册。 上 机 时 间 安 排 星期 周次 一 二 三 四 五 六 日 第14周 -第 17 周 13 软件工 程 1、2 节 13 软件工 程 1、2 节 指导时 间地点 上机时间,多媒体技术实验室(B530、B528) 版 面 要 求 1题目用黑体三号,段后距 18 磅(或 1 行) ,居中对齐; 2标题用
5、黑体四号,段前、段后距 6 磅(或 0.3 行) ; 3正文用小四号宋体,行距为 1.25 倍行距; 4标题按“一” 、 “” 、 “1” 、 “”顺序编号。 5本文档材料 A4 纸双面打印。 2 可变分区存储管理方式的内存分配回收可变分区存储管理方式的内存分配回收 一、一、引言引言 1.11.1 课程设计的目的课程设计的目的 本课题采用可变分区存储管理方式的模拟实现内存分配与回收。可变分 区分配是一种重要的存储管理思想, 目前流行的操作系统采用的分段存储管理的 基本思想就源自该方法。本课程设计通过编程模拟可变分区分配存储管理,经过 学生亲自动手编写管理程序, 可以进一步加深操作系统中对可变分
6、区分配存储管 理方案设计思想的理解。 1.21.2 实验要求实验要求 (1) 内存分配采用首次适应算法、最佳适应算法与最差分配算法分别完 成。 (2) 动态输入构造空闲区表,并显示构造好的空闲区表。(提示:在两种不同 的内存分配算法中,空闲区在空闲区表中的登记顺序是不一样的) (3) 键盘接收作业申请的内存尺寸大小。 (4) 根据申请,实施内存分配,并返回分配所得内存首址。 (5) 分配完后,调整空闲区表(即扣除分配部分),并显示调整后的空闲区表。 (6) 若分配失败,返回分配失败信息。 (7) 内存回收根据空闲区表,按内存回收的四种情况从键盘接收回收区域的 内存首址与大小;回收区域,调整空闲区表(与前面空闲区相连,与后面空闲区相 连,与前后空闲区相连则合并,与前后空闲区都不相连则插入该项),并显示调整 后的空闲区表。 1.31.3 预备知识预备知识 存储管理中可变分区的管理方式,理解掌握作业申请内存时的方法, 编程实 现分区回收算法,对实验列出的几种分区回收情况都应该能处理。熟练运用 c+ 编程,采用结构体定义数