1、 课程设计课程设计 题题 目 :目 : 主 存 空 间 的 分 配 与 回 收主 存 空 间 的 分 配 与 回 收 学 生 姓 名学 生 姓 名 : 学学 院院 : 系系 别 :别 : 专专 业 :业 : 班班 级 :级 : 指 导 教 师指 导 教 师 : 2011 年 12 月 30 日 课程设计任务书(三) 学院学院(系系):):信息学院信息学院计算机系计算机系 课程名称:课程名称:操作系统课程设计操作系统课程设计 指导教师(签名):指导教师(签名): 一、课程设计题目一、课程设计题目 主存空间的分配与回收 二、课程设计的目的二、课程设计的目的 通过该课程设计使学生理解在不同的存储管理
2、方式下,如何实现主存空间 的分配与回收。使学生初步具有研究、设计、编制和调试操作系统模块的能力。 三、课程设计的主要内容和要求三、课程设计的主要内容和要求(包括原始数据、技术参数、设计要求、 工作量要求等) 原始数据:空闲区说明表结构体。 技术参数:Windows XP系统,VC+6.0开发工具。 设计要求: 1 设计基于空闲区说明表的可变分区分配与回收算法; 2 或设计基于空闲区链表的可变分区分配与回收算法; 3 画出以上算法流程图; 4 编程实现算法功能; 5编写课程设计说明书。 工作量要求:完成以上设计要求中的所有算法功能。 四、工作进度安排四、工作进度安排 周一:布置、讲解题目,收集资
3、料; 周二:系统分析,算法设计; 周三:编制、调试程序; 周四:测试系统,形成设计结论,编写课设报告; 周五:系统及材料验收,课设答辩。 五、主要参考文献五、主要参考文献 1 张尧学编计算机操作系统教程(第三版)习题解答与实验指导北京: 清华大学出版社,2006 2 汤子瀛主编计算机操作系统(第三版) 西安:西安电子科技大学出版 社,2001 3 张坤等编操作系统实验教程北京:清华大学出版社,2008 审核批准意见审核批准意见 系(教研室)主任(签字)系(教研室)主任(签字) 摘要 在内存初始化完成以后,内存中就常驻有内核映象(内核代码和数据) 。以后, 随着用户程序的执行和结束,就需要不断地
4、分配和释放物理页面。内核应该为分配一 组连续的页面而建立一种稳定、高效的分配策略。为此,必须解决一个比较重要的内 存管理问题,即外碎片问题。频繁地请求和释放不同大小的一组连续页面,必然导致 在已分配的内存块中分散许多小块的空闲页面。由此带来的问题是,即使这些小块的 空闲页面加起来足以满足所请求的页面, 但是要分配一个大块的连续页面可能就根本 无法满足。Linux 采用著名的伙伴(Buddy)系统算法来解决外碎片问题。但是请注 意, 在 Linux中, CPU 不能按物理地址来访问存储空间, 而必须使用虚拟地址; 因此, 对于内存页面的管理,通常是先在虚存空间中分配一个虚存区间,然后才根据需要为 此区间分配相应的物理页面并建立起映射,也就是说,虚存区间的分配在前,而物理 页面的分配在后,但是为了承接上一节的内容,我们先介绍内存的分配和回收,然后 再介绍用户进程虚存区间的建立。分配效率、碎片问题是操