1、 附件 2:封面(打印时清除本行内容。只许填空,不许变动结构) 操作系统课程设计说明书操作系统课程设计说明书 设计题目:设计题目: 存储管理存储管理 专专 业:业: 计算机科学与技术计算机科学与技术 指导教师:指导教师: 班班 级:级: 学学 号:号: 姓姓 名:名: 同同 组组 人:人: 计算机科学与工程学院计算机科学与工程学院 2015 年年 1 月月 9 日日 前言前言 本课程设计是编制页面置换算法 FIFO、LRU、LFU、NUR 和 OPT 的模拟程序, 并模拟其在内存的分配过程。同时根据页面走向,分别采用 FIFO、LRU、LFU、 NUR 和 OPT 算法进行页面置换,统计命中率
2、;同时系统可以随意设置当前分配给 作业的物理块数。 系统运行时,任意输入一个页面访问序列,可以设定不同的页面置换算法和 物理块数,输出其页面淘汰的情况,计算其缺页次数和缺页率。系统结束后,比 较同一个页面访问序列,可以得出在不同的页面置换算法和物理块数的情况下, 其产生的缺页次数和缺页率。 使用 FIFO 算法,由于测试数据相同的页面比较少,所以采用 FIFO 算法时, 需要置换的页面多,比较繁琐,没有优化效果,所以 FIFO 算法性能不好。使用 LRU 的算法,此组数据显示 LRU 的算法使用比较繁琐,总的来说,NUR、LFU、LRU 算法介于 FIFO 和 OPT 之间。通过系统模拟得出,
3、OPT 算法的性能高,LRU、NUR、 LRU 算法的性能次之,FIFO 的算法性能最差,较少应用;由于 OPT 算法在实际上 难于实现,所以实际应用一般用 LRU 算法。 本程序实现了操作系统中页式虚拟存储管理中缺页中断理想型淘汰算法, 该 算法在访问串中将来再也不出现的或是在离当前最远的位置上出现的页淘汰掉。 这样,淘汰掉该页将不会造成因需要访问该页又立即把它调入的现象。该程序能 按要求随机确定内存大小,随机产生页面数,进程数,每个进程的页数,给进程 分配的页数等,然后运用理想型淘汰算法对每个进程进行计算缺页数,缺页率, 被淘汰的序列等功能。 目录目录 一系统环境 1 1.1 硬件环境.
4、1 1.2 软件环境. 1 二设计目的 2 三总体设计 3 3.1 程序设计组成框图. 3 3.2 流程图. 4 四详细设计 7 4.1 模块功能说明. 7 4.11 数据结构 7 4.12 函数定义 8 4.13 变量定义 8 4.2 算法分析. 8 五调试与测试. 10 5.1 调试方法 10 5.11 使用 Vi 编译程序 10 5.12 运行程序 . 12 5.2 结果分析与讨论 13 5.3 测试问题及采取措施 13 六源程序. 14 七心得体会. 23 八参考文献. 24 1 一系统环境一系统环境 1.11.1 硬件环境硬件环境 PC 机一台,0.99G 内存,2.0GHZ 主频
5、1.21.2 软件环境软件环境 设计和实验将 Windows 环境下,gcc 和虚拟机软件 VMWare 2 二二设计目的设计目的 存储管理的主要功能之一是合理地分配空间。 请求页式管理是一种常用的虚 拟存储管理技术。 本设计的目的是通过请求页式存储管理中页面置换算法模拟设 计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。要求: (1)通过随机数产生一个指令序列,共 320 条指令。指令的地址按下述原则 生成: 50%的指令是顺序执行的; 25%的指令是均匀分布在前地址部分; 25% 的指令是均匀分布在后地址部分。 具体的实施方法是:在0,319的指令地址之间随机选取一起点 m
6、;顺 序执行一条指令,即执行地址为 m+l 的指令;在前地址0,m+1中随机选取一 条指令并执行,该指令的地址为 m;顺序执行一条指令,其地址为 m+1; 在后地址m+2,319中随机选取一条指令并执行;重复上述步骤, 直到执行 320 次指令。 (2)将指令序列变换成为页地址流。设:页面大小为 1K;用户内存容量 为 4 页到 32 页;用户虚存容量为 32K。 在用户虚存中,按每页存放 10 条指令排列虚存地址,即 320 条指令在虚存 中的存放方式为: 第 0 条第 9 条指令为第 0 页(对应虚存地址为0,9); 第 10 条第 19 条指令为第 1 页(对应虚存地址为10,19); 第 310 条第 319 条指令为第 31 页(对应虚存地址为310,319)。 按以上方式,用户