1、 操作系统课程设计操作系统课程设计说明说明书书 设计题目:设计题目: 存储管理存储管理 专专 业:业: 计算机科学与技术计算机科学与技术 指导教师:指导教师: 班班 级:级: 学学 号:号: 姓姓 名:名: 同同 组组 人:人: 计算机科学与工程计算机科学与工程系系 2013 年年 01 月月 10 日日 2 前言 本模拟系统实现了先进先出页面淘汰算法(FIFO) 、最近最少使用 LRU 页面 淘汰算法、最近未使用算法 NUR、最少访问页面算法 LFU 和最佳淘汰算法 OPT。 同时系统可以随意设置当前分配给作业的物理块数。 系统运行时,任意输入一个页面访问序列,可以设定不同的页面置换算法和
2、物理块数,输出其页面淘汰的情况,计算其缺页次数和缺页率。系统结束后,比 较同一个页面访问序列,可以得出在不同的页面置换算法和物理块数的情况下, 其产生的缺页次数和缺页率。 使用 FIFO 算法,由于测试数据相同的页面比较少,所以采用 FIFO 算法时, 需要置换的页面多,比较繁琐,没有优化效果,所以 FIFO 算法性能不好。使用 LRU 的算法,此组数据显示 LRU 的算法使用比较繁琐,总的来说,NUR、LFU、LRU 算法介于 FIFO 和 Optimial 之间。通过系统模拟得出,optimal 算法的性能高, LRU、 NUR、 LRU 算法的性能次之, FIFO 的算法性能最差, 较少
3、应用; 由于 optimal 算法在实际上难于实现,所以实际应用一般用 LRU 算法。 本设计的目的是是熟悉存储管理的设计方法,加深对请求分页式存储管理的 认识。设计中用到了数据结构中的相关知识,链表的操作,通过本设计可以加深 的数据结构的理解。设计代码语言用到的是 C 语言,使用起来比较方便,可以在 虚拟机和 VC 上直接运行。 3 目录目录 目录 3 一、系统环境 4 1.1、硬件环境 4 1.2、软件环境 4 二、设计目的 5 三、总体设计 6 3.1、程序设计组成框图 6 3.2、流程图 7 四、详细设计 11 4.1、数据结构 11 4.1.1 页面类型. 11 4.1.2 页面控制
4、结构. 11 4.2.函数定义. 12 4.3.变量定义. 12 4.4.算法分析. 12 五、调试与测试 14 5.1、调试方法 14 5.2、测试结果的分析与讨论 14 六、设计中遇到的问题 15 七、源程序清单 16 八、总结,收获与体会 25 九、参考文献 26 4 一、系统环境一、系统环境 1.1、硬件环境、硬件环境 PC 机一台,内存,2.0GHZ 主频 1.2、软件环境、软件环境 设计和实验将 Windows 环境下,gcc 和虚拟机软件 VMWare。 5 二、设计目的二、设计目的 存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚 拟存储管理技术。 本设计的目
5、的是通过请求页式存储管理中页面置换算法模拟设 计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。要求: (1)通过随机数产生一个指令序列,共 320 条指令。指令的地址按下述原则 生成: 50%的指令是顺序执行的;25%的指令是均匀分布在前地址部分;25% 的指令是均匀分布在后地址部分。 具体的实施方法是:在0,319的指令地址之间随机选取一起点 m;顺 序执行一条指令,即执行地址为 m+l 的指令;在前地址0,m+1中随机选取一 条指令并执行,该指令的地址为 m;顺序执行一条指令,其地址为 m+1; 在后地址m+2,319中随机选取一条指令并执行;重复上述步骤, 直到执行 32
6、0 次指令。 (2)将指令序列变换成为页地址流。设:页面大小为 1K;用户内存容量为 4 页到 32 页;用户虚存容量为 32K。 在用户虚存中,按每页存放 10 条指令排列虚存地址,即 320 条指令在虚存 中的存放方式为: 第 0 条第 9 条指令为第 0 页(对应虚存地址为0,9); 第 10 条第 19 条指令为第 1 页(对应虚存地址为10,19); 第 310 条第 319 条指令为第 31 页(对应虚存地址为310,319)。 按以上方式,用户指令可组成 32 页。 (3)计算并输出下述各种算法在不同内存容量下的命中率(要为以下各种算 法定义数据结构) 。 先进先出的算法(FIFO); 最近最少使用算法(LRU); 最近最不经常使用算法(NUR/NRU/CLOCK)。 6 三、总体设计三、总体设计 3.1、程序设计组成框图程序设计