实验五 虚拟存储管理

实验五 虚拟存储管理

一. 实验目的

存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。本实验的目的是通过请求页式管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。

二. 实验内容

通过计算不同算法的命中率比较算法的优劣。同时也考虑了用户内存容量对命中率的影 响。页面失效次数为每次访问相应指令时,该指令所对应的页不在内存中的次数。

命中率=1

-

页面失效次数页地址流长度

计算并输出下属算法在不同内存容量下的命中率。 ● 先进先出的算法(FIFO ); ● 最近最少使用算法(LRU );

三. 系统框图

四.页面置换算法程序代码

#include #include #include

const int MAXSIZE=1000;//定义页访问流的最大长度 const int MAXQUEUE=3;//定义可用页面数 typedef struct node { int loaded; int hit; }page;

page pages[MAXQUEUE]; //定义页面表 int queue[MAXSIZE]; int quantity; //初始化结构函数 void initial() { }

//初始化页面函数 void init()

int i;

for(i=0;i

pages[i].loaded=-1; pages[i].hit=0; }

for(i=0;i

queue[i]=-1;

}

//读入页访问流 void readData() {

int i;

for(i=0;i

pages[i].loaded=-1; pages[i].hit=0; }

FILE *fp; char fname[20]; int i;

cout>fname;

if((fp=fopen(fname,"r"))==NULL) { } else { }

cout

while(!feof(fp)) { }

fscanf(fp,"%d ",&queue[quantity]); quantity++;

cout

}

}

cout

//FIFO调度算法 void FIFO() { }

int i,j,p,flag; int absence=0; p=0;

cout

for(j=0;j

coutif(absence>=MAXQUEUE) { cout

if(pages[j].loaded==queue[i]) { flag=1; }

//最近最少使用调度算法(LRU ) void LRU() {

int absence=0; int i,j; int flag;

cout

for(j=0;j

if(queue[i]==pages[j].loaded) { flag=j; }

//缺页处理

else {

if(absence>=MAXQUEUE)

{cout

pages[MAXQUEUE-1].loaded=queue[i]; absence++; }

pages[j]=pages[j+1];

//页面已载入

pages[quantity]=pages[flag];

}

} }

for(j=flag;j

pages[MAXQUEUE-1]=pages[quantity];

pages[j]=pages[j+1];

cout//显示 void version() {

cout

****************/"

cout

void main() { }

五 操作说明

运行程序前先新建一个页面流文件文件(例如a.txt ),在文件中存储的是一系列页号(页号用整数表示,用空格作为分隔符),用来模拟程序执行时的页访问次序。

version(); initial(); readData(); FIFO(); init(); LRU();

六 结果分析

1. 对于如下的页面访问序列; 1,2,3,4,1,2,5,1,2,3,4,5 当内存页面数分别为2、3、4、5时,使用FIFO 和LRU 置换算法模拟页面调度,记录并分析实验结果(分析内存页面的具体调度情况并计算命中率) 。 2. 思考以下问题,并使用实验数据来回答:

● 什么是Belay 现象?本次实验中是否出现了Belay 现象?LRU 算法会存在

Belay 现象吗?FIFO 算法必然会出现Belay 现象吗?

● LRU 算法的性能在哪些情况下优于FIFO ?哪些情况下次于FIFO ?各自的原

因何在?

3. 选择一个页面调度算法,详细地描述其程序的实现过程。

实验五 虚拟存储管理

一. 实验目的

存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。本实验的目的是通过请求页式管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。

二. 实验内容

通过计算不同算法的命中率比较算法的优劣。同时也考虑了用户内存容量对命中率的影 响。页面失效次数为每次访问相应指令时,该指令所对应的页不在内存中的次数。

命中率=1

-

页面失效次数页地址流长度

计算并输出下属算法在不同内存容量下的命中率。 ● 先进先出的算法(FIFO ); ● 最近最少使用算法(LRU );

三. 系统框图

四.页面置换算法程序代码

#include #include #include

const int MAXSIZE=1000;//定义页访问流的最大长度 const int MAXQUEUE=3;//定义可用页面数 typedef struct node { int loaded; int hit; }page;

page pages[MAXQUEUE]; //定义页面表 int queue[MAXSIZE]; int quantity; //初始化结构函数 void initial() { }

//初始化页面函数 void init()

int i;

for(i=0;i

pages[i].loaded=-1; pages[i].hit=0; }

for(i=0;i

queue[i]=-1;

}

//读入页访问流 void readData() {

int i;

for(i=0;i

pages[i].loaded=-1; pages[i].hit=0; }

FILE *fp; char fname[20]; int i;

cout>fname;

if((fp=fopen(fname,"r"))==NULL) { } else { }

cout

while(!feof(fp)) { }

fscanf(fp,"%d ",&queue[quantity]); quantity++;

cout

}

}

cout

//FIFO调度算法 void FIFO() { }

int i,j,p,flag; int absence=0; p=0;

cout

for(j=0;j

coutif(absence>=MAXQUEUE) { cout

if(pages[j].loaded==queue[i]) { flag=1; }

//最近最少使用调度算法(LRU ) void LRU() {

int absence=0; int i,j; int flag;

cout

for(j=0;j

if(queue[i]==pages[j].loaded) { flag=j; }

//缺页处理

else {

if(absence>=MAXQUEUE)

{cout

pages[MAXQUEUE-1].loaded=queue[i]; absence++; }

pages[j]=pages[j+1];

//页面已载入

pages[quantity]=pages[flag];

}

} }

for(j=flag;j

pages[MAXQUEUE-1]=pages[quantity];

pages[j]=pages[j+1];

cout//显示 void version() {

cout

****************/"

cout

void main() { }

五 操作说明

运行程序前先新建一个页面流文件文件(例如a.txt ),在文件中存储的是一系列页号(页号用整数表示,用空格作为分隔符),用来模拟程序执行时的页访问次序。

version(); initial(); readData(); FIFO(); init(); LRU();

六 结果分析

1. 对于如下的页面访问序列; 1,2,3,4,1,2,5,1,2,3,4,5 当内存页面数分别为2、3、4、5时,使用FIFO 和LRU 置换算法模拟页面调度,记录并分析实验结果(分析内存页面的具体调度情况并计算命中率) 。 2. 思考以下问题,并使用实验数据来回答:

● 什么是Belay 现象?本次实验中是否出现了Belay 现象?LRU 算法会存在

Belay 现象吗?FIFO 算法必然会出现Belay 现象吗?

● LRU 算法的性能在哪些情况下优于FIFO ?哪些情况下次于FIFO ?各自的原

因何在?

3. 选择一个页面调度算法,详细地描述其程序的实现过程。


相关内容

  • 云教室建设方案
  • 云教室建设 整体系统方案 目录 目录 第1章 概述 ....................................................................................................... 3 1.1 1.2 项目背景...... ...

  • 面向服务的未来互联网体系结构与机制研究
  • 项目名称: 面向服务的未来互联网体系结构与机制 起止年限: 依托部门:研究 刘韵洁 中国科学院计算技术研究所 2012.1-2016.8 中国科学院 首席科学家: 一.关键科学问题及研究内容 现行互联网是基于TCP/IP体系结构建立的,其假设用户和终端是可信和智能的,网络本身仅仅需要提供尽力而为的数 ...

  • [现代测试技术及应用]实验指导书 2
  • 西华大学实验报告(理工类) 开课学院及实验室:电气信息学院 测控技术综合实验室 实验时间 :2015年 5月 25 日 一.实验目的 1. 了解示波测量的基本原理. 2. 熟悉虚拟数字存储示波器的操作,对几种电压波形进行参数测量并观察波形的显示. 二.实验原理 数字示波器原理:数字存储示波器是用 A ...

  • 信息安全实验室建设方案
  • 信息安全与网络存储实验室 建设方案 2010年6月 目录 1 2 3 建设背景 . ............................................................................................................ ...

  • 云计算技术国内外发展现状
  • 后台. 云计算改变了单个计算机的功能,降低对网络的要求,由于终端不考虑应用的具体实现过程,扩展应用变得更加容易,高可扩展性是云计算的显著特征.应用在服务器端实现和部署,可以轻松实现不同设备间的数据与应用共享,并以统一的方式(例如通过浏览器)在终端实现与用户的交互. 三.国外云计算技术.产业现状及发展 ...

  • 生物医学大数据处理的云计算解决方案
  • 第28卷 第11期・ 1190・ 电子测量与仪器学报 JOURNALOFELECTRONICMEASUREMENTANDINSTRUMENTATION Vol畅28 No畅112014年11月 DOI:10.13382/j.jemi.2014.11.003 生物医学大数据处理的云计算解决方案 孙 磊 ...

  • 云计算与虚拟技术实训报告-模板
  • 实习报告 实习性质: <云计算与虚拟技术>课程实习 学生姓名: 专业班级: 指导教师: 罗双 网络151 刘方涛.罗元成 实习时间: 2017年6月26日-2017年7月1日 实习地点: 一教学楼1208教室 重庆工程职业技术学院 学 生 实 习 考 核 表 目录 1 实习目的 . .. ...

  • 教育信息化背景下智慧校园的关键技术应用
  • 教育信息化经过近年来的不断发展与演变,衍生并积累了许多新情况与新问题,外部环境的发展与演进越发活跃,一些新理念和新技术也随之涌现出来.当前的教育信息化在发展过程中已将社交化.个性化.开放化.智能化等特点较为清晰的呈现出来.数字校园为智慧校园所替代也成为当前教育信息化发展的主要趋势. 01智慧校园及其 ...

  • 学习笔记-信息技术与教育
  • 目录 概述 ................................................................................ 1 1 信息技术及教育应用概述 ............................................... ...