实 验 报 告
(2014 / 2015 学年 第 一 学期)
课程名称 实验名称
计算机操作系统
虚拟存储中页面置换算法的模拟实现 2014
实验时间 指导单位 指导教师
年 12 月 19 日
南京邮电大学
崔衍
学生姓名 学院(系)
物联网院
班级学号 专 业
网络工程
实 验 报 告
实验名称 虚拟存储中页面置换算法的模拟实现 实验类型 上机实验 实验学时 一、 实验目的和要求 目的: 通过请求页式存储管理中页面置换算法模拟设计, 了解虚拟存储技术的技术特点, 掌握请求页式存储管理的页面置换算法 要求: (1)设计实现下面算法,并输出下述各种算法的命中率。 ①先进先出的算法(FIFO); ②最近最少使用算法(LRR); ③最佳淘汰算法(OPT)先淘汰最不常用的页地址。 (2)多次反复运行改进后的程序,观察并记录运行结果,并分析原因。 指导教师 崔衍 4 实验时间 2014.12.19 二、实验环境(实验设备) Vc++6.0 - 2 -
二、 实验原理及内容
实验三
#include
typedef struct BLOCK//声明一种新类型——物理块类型 {
int pagenum;//页号
int accessed;//访问字段,其值表示多久未被访问
}BLOCK;
int pc;//程序计数器,用来记录指令的序号 int n;//缺页计数器,用来记录缺页的次数 static int temp[320];//用来存储320条随机数
BLOCK block[Bsize]; //定义一大小为4的物理块数组
//************************************************************* void init( ); //程序初始化函数
int findExist(int curpage);//查找物理块中是否有该页面 int findSpace( );//查找是否有空闲物理块 int findReplace( );//查找应予置换的页面 void display ( );//显示
void suijishu( );//产生320条随机数,显示并存储到temp[320] void pagestring( );//显示调用的页面队列 void OPT( );//OPT算法 void LRU( );// LRU算法 void FIFO( );//FIFO算法
//************************************************************* void init( ) {
for(int i=0;i block[i].pagenum=-1; block[i].accessed=0; - 3 -