课程设计名称:操作系统
题目:页式存储管理中页面置换(淘汰)的模拟程序
1
目录
一、 概述………………………………………………………………………………………………….3
1.1目的………………………………………………………………………………………………3 1.2主要完成的任务…………………………………………………………………………………3 1.3使用的开发工具…………………………………………………………………………………3 1.4解决的主要问题…………………………………………………………………………………4 二、基本概念和原理……………………………………………………………………………………..4
2.1概念………………………………………………………………………………………………4 2.2原理………………………………………………………………………………………………4 三、总体设计……………………………………………………………………………………………..5 四、详细设计……………………………………………………………………………………………..6
4.1 要利用的线程操作的函数………………………………………………………………………6 4.2使用的函数变量及解释………………………………………………………………………….7 4.3 各个页面置换算法………………………………………………………………………………8 五、编码设计……………………………………………………………………………………………..9
5.1 开发环境的设置和建立…………………………………………………………………………9 5.2程序设计时需要注意的问题…………………………………………………………………….9 5.3 主要程序的代码设计及注释…………………………………………………………………..10 5.4 解决的技术难点、经常犯的错误……………………………………………………………...22 六、测试时出现的问题及解决方法……………………………………………………………………..22 七、软件使用说明………………………………………………………………………………………..22
7.1 基本功能………………………………………………………………………………………...22 7.2 需要运行的环境………………………………………………………………………………...23 7.3 安装……………………………………………………………………………………………...23 7.4 运行……………………………………………………………………………………………...23 7.5 操作……………………………………………………………………………………………...24 八、总结…………………………………………………………………………………………………..25
8.1完成的功能……………………………………………………………………………………….25 8.2 自我评定………………………………………………………………………………………...25 8.3 收获、经验、教训和感受………………………………………………………………………25 九、参考文献………………………………………………………………………………………………26
2
页式存储管理中页面置换(淘汰)的模拟程序
一.概述
1.1目的
(1)通过模拟实现请求页式存储管理的几种基本页面置换算法,了解虚拟存储技术的特点。 (2)通过创建线程以及初始化线程来掌握实现几个线程同时进行某种操作的方法。
(3)重点掌握当请求页面不在内存而内存块已经全部被占用时的替换算法,熟悉常见替换算法(如
FIFO算法、LRU算法、LFU算法、OPT算法)的原理和实现过程。
(4)掌握页面置换时缺页中断与不缺页中断时每个页面进行存取时的时间的计算方法,包括一个
页面序列进行存取的总时间与存取每个页面的平均时间。 (5) 熟悉使用VC++ 6.0进行有界面的编程的方法。
1.2.主要完成的任务
通过使用程序设计语言设计一个程序,模拟页式存储管理中FIFO、LRU、LFU、OPT四页面置换
算法运行的过程。基本要求如下: (1)采用四个线程同时完成每个算法;
(2)能够设定驻留内存页面的个数、内存的存取时间、缺页中断的时间、快表的时间,并提供省缺值;
(3)能够随机输入存取的逻辑页面的页号序列; (4)能够随机产生存取的逻辑页面的页号序列; (5)能够设定页号序列中页面个数和范围;
(6)提供良好图形界面,同时能够展示四个算法运行的结果。 (7) 计算每种页面置换算法每个页面的存取时间。
(8) 能够将每次的实验输入和实验结果存储起来,下次运行时或以后可查询; (9) 完成多次不同设置的实验,总结实验数据,看看能得出什么结论。
1.3 使用的开发工具
(1)使用系统:Windows7
(2)使用语言:C++
(3)开发工具:Visual C++ 6.0
3