页面置换算法实验报告

2026/4/27 19:58:16

开始 输入内存数 调用各种置换算法,FIFO,LRU,OPT,并显示地址流、页面流、页面置换过程和命中率 命中率比较 结束

总模块图

入口 产生随机数、要调入的页面、离现在处理时间最长的页面、

初始化页面情况

Y

t1

直接存入内存

N

根据选择的算法进行 置换,缺页数加1

计算缺页率,并输出数据

结束

主程序图

5

6.程序设计

struct Pro //内存页的结构体 {

int num; //记录页面号

int time; //页面从未被利用的时间 };

#define M 320 //定义指令条数

Pro P[M]; //产生的随机指令数组

void Input() //产生随机数 { int s; //随机数 int i;

srand(time(0)); s = rand()%M; //cout<<\随机产生指令流------------\\n\ for (i=0; i

p[i].num=s; //任选一指令访问点m p[i+1].num=p[i].num+1; //顺序执行一条指令

p[i+2].num=(int)((float)p[i].num*(rand()/(RAND_MAX+1.0))); //执行前地址指令m' p[i+3].num=p[i+2].num+1; //顺序执行一条指令 s=(int)((float)(319-p[i+2].num)*(rand()/(RAND_MAX+1.0))) +

p[i+2].num;

} for(i=0;i

}

int Search(int e,Pro*page1,int N) //查找内存中是否存在要调入的页面 { int t; Pro*page=new Pro[N]; page=page1; for(int i=0;i

6

} return -1; } int Max(Pro*page1,int N) //查找最久最久未被使用的页面 { Pro*page=new Pro[N]; page=page1; int e=page[0].time,i=0; while(i

}

int Compfu(Pro*page1,int i,int t,Pro p[M]) //找到最久不使用的页面 { Pro*page=new Pro[N]; page=page1; int count=0; for(int j=i;j

7.测试结果

选中算法,输入内存数点击计算

7

8


页面置换算法实验报告.doc 将本文的Word文档下载到电脑
搜索更多关于: 页面置换算法实验报告 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219