设计一:置换算法(OPT 和 FIFO 算法)模拟
设计目的:
在熟练掌握计算机虚拟存储技术的原理的基础上,利用一种程序设计语言模拟实现几
种置换算法,一方面加深对原理的理解,另一方面提高学生通过编程根据已有原理解决实
际问题的能力,为学生将来进行系统软件开发和针对实际问题提出高效的软件解决方案打
下基础。
设计内容:
1.使用 C 或 VB 在 linux,windows 或 dos 系统中模拟实现虚拟存储管理的两种置换算法(一
种:最佳置换算法,另一种:在 FIFO 和 LRU 中任选一种),并通过比较性能得出结论。
2.页面分配采用固定分配局部置换。作业的页面走向和分得的物理块数预先指定。可以从
键盘输入也可以从文件读入。置换算法的置换过程输出可以在显示器上也可以存放在文件
中,但必须清晰可读,便于检验。
3. 有三部分模块组成,分别为:主函数模块,主要用于初始化和界面设计以及输出结果;
算法主模块,主要用于算法判断和页面置换;其他函数模块,主要用于其他细节;
基本原理:
在页面置换算法中,FIFO 置换算法是最简单的算法,当缺页时,最先进入的先被置换出去,
但该算法效率低;最佳置换算法将以后不会使用的页面或最长时间被访问的页面置换出去
该算法效率最高,但实现较难,可以当作其它算法的参照物,比较算法的性能。
数据结构:
用结构体数组定义页面走向和内存及其内容,分别用两个数组定义:a[M]和 b[N],输入页面
总数 m 值和内存块数 n 值,根据置换算法,输出相应的结果。
设计步骤:
1. 设计出模拟算法,特别是如何判断哪一页应置换出去;
2. 写出某些关键函数和初始化界面情况;
3. 打开 Visual C++ 6.0 ,编辑原代码并调试运行,输出结果;
4. 分析运行的结果,比较两种算法的效果好坏情况;