河南城建学院
《操作系统》课程设计说明书
设计题目: 存储管理 专 业: 计算机科学与技术 指导教师: 邵国金、薛冰、郭猛 班 级: 0814102 学 号: 081410219 姓 名: 李二萌 同 组 人: 杨森林、杨鹏飞、王伟超
计算机科学与工程系 2013年 01 月 10 日
前言
本模拟系统实现了先进先出页面淘汰算法(FIFO)、最近最少使用LRU页面淘汰算法、最近未使用算法NUR、最少访问页面算法LFU和最佳淘汰算法OPT。同时系统可以随意设置当前分配给作业的物理块数。
系统运行时,任意输入一个页面访问序列,可以设定不同的页面置换算法和物理块数,输出其页面淘汰的情况,计算其缺页次数和缺页率。系统结束后,比较同一个页面访问序列,可以得出在不同的页面置换算法和物理块数的情况下,其产生的缺页次数和缺页率。
使用FIFO算法,由于测试数据相同的页面比较少,所以采用FIFO算法时,需要置换的页面多,比较繁琐,没有优化效果,所以FIFO算法性能不好。使用LRU的算法,此组数据显示LRU的算法使用比较繁琐,总的来说,NUR、LFU、LRU算法介于FIFO和Optimial之间。通过系统模拟得出,optimal算法的性能高,LRU、NUR、LRU算法的性能次之,FIFO的算法性能最差,较少应用;由于optimal算法在实际上难于实现,所以实际应用一般用LRU算法。
本设计的目的是是熟悉存储管理的设计方法,加深对请求分页式存储管理的 认识。设计中用到了数据结构中的相关知识,链表的操作,通过本设计可以加深的数据结构的理解。设计代码语言用到的是C语言,使用起来比较方便,可以在虚拟机和VC上直接运行。
2
目录
目录................................................................................................................................ 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页面控制结构....................................................................................... 11 4.2.函数定义......................................................................................................... 12 4.3.变量定义......................................................................................................... 12 4.4.算法分析......................................................................................................... 12 五、调试与测试.......................................................................................................... 14
5.1、调试方法...................................................................................................... 14 5.2、测试结果的分析与讨论.............................................................................. 14 六、设计中遇到的问题.............................................................................................. 15 七、源程序清单.......................................................................................................... 16 八、总结,收获与体会.............................................................................................. 25 九、参考文献.............................................................................................................. 26
3