实验五——内存管理缺页调度算法

上传人:kms****20 文档编号:41601006 上传时间:2018-05-30 格式:DOC 页数:6 大小:45KB
返回 下载 相关 举报
实验五——内存管理缺页调度算法_第1页
第1页 / 共6页
实验五——内存管理缺页调度算法_第2页
第2页 / 共6页
实验五——内存管理缺页调度算法_第3页
第3页 / 共6页
实验五——内存管理缺页调度算法_第4页
第4页 / 共6页
实验五——内存管理缺页调度算法_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《实验五——内存管理缺页调度算法》由会员分享,可在线阅读,更多相关《实验五——内存管理缺页调度算法(6页珍藏版)》请在金锄头文库上搜索。

1、实验五 内存管理实验实验目的实验目的:能过本次实验加深对 FIFO、LRU、OPT 几种页面替换策略的了解与认识。 实验过程实验过程:采用 C 或 VC 编写一个程序,模拟实现 FIFO、LRU、OPT 三种页面替换算法。 本程序采用 VC+6.0 编写,预先定义内存的量不超过 30(为什么?请阅读程序) 。事先设 计好页面总数(用表格列出) ,以及页面调用的走向。根据设计好的页面走向分析在三种不 同的替换策略下,替换页面的情况,并计算出缺页率。FIFO 算法:出发点在于总把内存块中停留时间最久的页面作为替换时的对象。LRU 算法:着眼点在于考虑内存块中页面的使用频率,它认为在一段时间里使用得

2、最 多的页面,将来用到的可能性就大。因此,当要进行页面淘汰时,总是把当前使用得最少 的页面淘汰出去。 OPT 算法:把以后不再使用的或在最长时间内不会用到的页面做为淘汰对象,这样使 缺页次数最小。1、设计页面走向: 2、实验结果:3、实验总结:附件: #include /预处理命令 #define M 30 /定义 M 值为 30 int N; /定义变量 N struct Pro /创建结构体 pro int num,time; /定义变量 num 和 time ; int Input(int m,Pro pM) /输入函数 coutm; /利用 cin 输入 m 的值if(mM)coutp

3、i.num; /以数字输入各页面号pi.time=0; /给 pi.time 赋值为 0return m; /正常结束向操作系统返回一个 m 值 void print(Pro *page1) /在屏幕上显示当前的页面 Pro *page=new ProN; /使用指针进行赋值page=page1; /将 page1 赋值为 pagefor(int i=0;iN; /输入 N 的值Pro pM; Pro *page=new ProN; /利用指针进行赋值char c; /定义变量 cint m=0,t=0; /定义变量 m 和 n 并且赋值为 0float n=0; /定义双精度变量 n 并且赋

4、值为 0m=Input(m,p); /输入函数 dofor(int i=0;ic; /输入 c 的值if(c=F) /FIFO 页面置换n=0;cout=0)i+; /找到相同的页面else /否则 if(t=N)t=0; /if 循环语句判断 telse n+; /n 自加paget.num=pi.num; /赋值print(page); /在屏幕上显示 page 值t+;/t 自加cout=0) /if 循环语句判断 t 值paget.time=0; /给页面使用时间赋值else /否则 n+; /n 自加t=Max(page); /赋值 tpaget.num=pi.num; /赋值页面号

5、paget.time=0; /赋值页面时间if(t=0)paget+1.time+;paget+2.time+; /if 循环语句当 t 等于 0 时if(t=1)page2.time+;page0.time+; /if 循环语句当 t 等于 1 时if(t=2)page1.time+;page0.time+; /if 循环语句当 t 等于 2 时if(k=-1) print(page); /if 循环语句当 t 等于-1 时 i+; /i 自加cout=0)i+; /if 循环语句进行查找调入页面else /否则int temp=0,cn; /定义自变量 tempfor(t=0;tN;t+)

6、 /for 循环语句 tN 时候 t 自加if(tempCompfu(page,i,t,p) /使用 if 循环语句判断自变量 temptemp=Compfu(page,i,t,p);cn=t; /赋值pagecn=pi; /赋值n+; /n 自加print(page); /在屏幕显示页面号i+; /i 自加cout“number of page lack:“n“Rate of page lack:“n/mendl; /利用 count 在 屏幕/上输出并且换行while(c=F|c=L|c=O); /利用 while 循环语句返回输入return 0; /当程序正确运行结束,向操作系统返回一个 0 值

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号