1、 1 操作系统课程设计操作系统课程设计 论文题目:论文题目: 连续动态分区内存管理模拟实现连续动态分区内存管理模拟实现 所在班级:所在班级: 学生学号:学生学号: 学生姓名:学生姓名: 任课教师:任课教师: 完成日期:完成日期: 2012 年年 12 月月 1 日日 2 操作系统课程设计. 1 课程设计目的和内容: 3 开发环境: . 3 系统分析设计: 3 第一章 :有关了解内存管理的相关理论 3 1.1 内存管理概念: 3 1.2 内存管理的必要性: . 3 1.3 内存的物理组织:. 4 1.4 什么是虚拟内存:. 4 第二章 :连续动态分区内存管理方式的实现 . 4 2.1 单一连续分
2、配(单个分区). 4 2.2 固定分区存储管理. 5 2.3 可变分区存储管理(动态分区) 5 2.4 可重定位分区存储管理 5 2.5 覆盖技术与对换技术 . 6 第三章 :分析并实现四种内存分配算法 6 3.1 最先适应算法 6 3.2 下次适应分配算法. 9 3.3 最优适应算法. 11 3.4 最坏适应算法.13 第四章:实现对分配内存后进行回收的算法 16 4.1 可变分区的回收 .16 4.2 对可变分区回收的流程图 .17 4.3 利用可变分区的首次适应算法,模拟内存的分配与回收算法。 .18 第五章 有关动态分区的数据结构、存储管理分析及实现虚拟内存的算法.25 5.1 实现动
3、态分区需要的数据结构 25 5.2 可变分区存储管理分析: .26 5.3 使用三种方法 FIFO、OPI、LRU 实现虚拟内存页面置换算法26 心得体会及小结:.35 参考文献: .36 3 课程设计目的和内容:课程设计目的和内容: 理解内存管理的相关理论,掌握连续动态分区内存管理的理论;通过对实 际问题的编程实现,获得实际应用和编程能力。 编写程序实现连续动态分区内存管理方式,该程序管理一块虚拟内存,实 现内存分配和回收功能。 分析并实现四种内存分配算法,即首次适应算法,循环首次适应算法,最佳 适应算法,最坏适应算法。内存分配算法和回收算法的实现。 开发环境:开发环境: win7 下 VC
4、+6.0 系统分析设计:系统分析设计: 相关算法原理,算法流程图,涉及的数据结构内容都相应包含在各章节中 第一章 :有关了解内存管理的相关理论 1.1 内存管理概念: 内存管理,是指软件运行时对计算机内存资源的分配和使用的技术。其最 主要的目的是如何高效,快速的分配,并且在适当的时候释放和回收内存资源。 内存不是预先划分好的, 而是在系统运行的过程中建立分区.当作业装入主存时, 根据作业所需要的主存容量查看是否有足够的主存空间, 若有则按需要分割一个 分区给该作业;否则令该作业等待.分区长度不固定,分区个数不固定。这种存储 管理的方法克服了固定分区严重浪费主存的问题,提高了主存资源的利用率。
5、1.2 内存管理的必要性: 内存管理对于编写出高效率的 Windows 程序是非常重要的,这是因为 Windows 是多任务系统,它的内存管理和单任务的 DOS 相比有很大的差异。DOS 是单任务操作系统,应用程序分配到内存后,如果它不主动释放,系统是不会对 它作任何改变的;但 Windows 却不然,它在同一时刻可能有多个应用程序共享内 存,有时为了使某个任务更好地执行,Windows 系统可能会对其它任务分配的内 存进行移动,甚至删除。因此,我们在 Windows 应用程序中使用内存时,要遵循 Windows 内存管理的一些约定,以尽量提高 Windows 内存的利用率。 4 1.3 内存
6、的物理组织: 一、物理地址: 把内存分成若干个大小相等的存储单元,每个存储单元占 8 位,称作字节 (byte) 。每个单元给一个编号,这个编号称为物理地址(内存地址、绝对地址、 实地址) 。 二、物理地址空间: 物理地址的集合称为物理地址空间(主存地址空间) ,它是一个一维空间。 1.4 什么是虚拟内存: 虚拟内存是内存管理技术的一个极其实用的创新。它是一段程序(由操作 系统调度) ,持续监控着所有物理内存中的代码段、数据段,并保证他们在运行 中的效率以及可靠性,对于每个用户层(user-level)的进程分配一段虚拟内存 空间。当进程建立时,不需要在物理内存件之间搬移数据,数据储存于磁盘内的 虚拟内存空间,也不需要为该进程去配置主内存空间,只有当该进程被被调用的 时候才会被加载到主内存。 第二章 :连续动态分区内存管理方式的实现 在早期的操作系统中,主存分配广泛采用连续分配方式。 连续分配方式,是指为一个用户程序分配一个连续的内存空