2022年页面置换算法代码实 .pdf

上传人:Q****o 文档编号:28070408 上传时间:2022-07-26 格式:PDF 页数:9 大小:48.65KB
返回 下载 相关 举报
2022年页面置换算法代码实 .pdf_第1页
第1页 / 共9页
2022年页面置换算法代码实 .pdf_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《2022年页面置换算法代码实 .pdf》由会员分享,可在线阅读,更多相关《2022年页面置换算法代码实 .pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、实验原理:在内存运行过程中,若其所要访问的页面不在内存而需要把他们调入内存,但内存已经没有空闲空间时, 为了保证该进程能正常运行, 系统必须从内存中调出一页程序或数据送磁盘的对换区中。但应将那个页面调出, 需根据一定的算法来确定。通常,把选择换出页面的算法成为页面置换算法。置换算法的好坏, 将直接影响到系统的性能。一个好的页面置换算法, 应具有较低的页面更换频率。从理论上讲, 应将那些以后不再会访问的页面置换出, 或者把那些在较长时间内不会在访问的页面调出。目前存在着许多种置换算法(如FIFO,OPT,LRU) ,他们都试图更接近理论上的目标。实验目的:1熟悉 FIFO,OPT 和 LRU 算

2、法2比较三种算法的性能优劣实验内容:写出 FIFO,OPT 和 LRU 算法的程序代码,并比较它们的算法性能。实验步骤:代码如下:#include #define M 4 /物理页数#define N 20/需要调入的页数typedef struct page int num; int time; Page; /物理页项,包括调入的页号和时间Page mmM; /4 个物理页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - int

3、 queue120,queue220,queue320;/ 记录置换的页int K=0,S=0,T=0; /置换页数组的标识int pos=0;/记录存在最长时间项/初始化内存页表项及存储内存情况的空间void INIT() int i; for(i=0;iM;i+) mmi.num =-1; mmi.time =0; /取得内存中存在时间最久的位置int GetMax() int max=-1; int i; for(i=0;i max) max=mmi.time ; pos=i; return pos; /检查最长时间不使用页面int longesttime(int fold) 名师资料总

4、结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - int i; int max=-1; for(i=fold;iN;i+) if(mm0.num!=i) mm0.time+; if(mm1.num!=i) mm1.time+; if(mm2.num!=i) mm2.time+; if(mm3.num!=i) mm3.time+; for(i=0;imax) max=mmi.time; pos=i; return pos; /检查某页是否在内

5、存int Equation(int fold) int i; for(i=0;iM;i+) if(mmi.num = fold) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - return i; return -1; /检查物理内存是否已满 ,-1 表满,其他不满int Check() int i; for(i=0;iM;i+) if(mmi.num = -1) return i; return -1; /先进先出void F

6、IFO(int fold) int i; int a,b,c; a=Equation(fold); /页已存在if(a != -1) /页不存在else b=Check(); /内存还有空闲if(b != -1) mmb.num = fold; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 9 页 - - - - - - - - - /内存已满,需要置换else c=GetMax(); mmc.num = fold; mmc.time = 0; queue1K+=fol

7、d; for(i=0;iM;i+) if(mmi.num != -1) mmi.time +; void OPT(int fold) int a,b,c; a=Equation(fold); if(a = -1)/ 页不在内存b=Check(); /内存还有空闲if(b != -1) mmb.num = fold; /内存已满,需要置换else c=longesttime(fold); mmc.num = fold; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 9 页

8、 - - - - - - - - - mmc.time = 0; queue3T+=fold; void LRU(int fold) int i; int a,b; int p; a=Equation(fold); if(a != -1)/页已在内存 /把此项移动到链表最后一项if(a=3)/此项已经在最后,不需要做任何改动return; else p=Equation(-1); if(p=-1)/ 链表是满的 for(;a3;a+) mma.num=mma+1.num; mm3.num=fold; else if(p=3)/链表不满 for(;ap-1;a+) mma.num=mma+1.n

9、um; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 9 页 - - - - - - - - - mma.num=fold; else b=Check(); if(b!=-1)/ 不满mmb.num=fold; else for(i=0;i3;i+) mmi.num=mmi+1.num; mm3.num=fold; queue2S+=fold; void main() int AN,BN; int i; INIT(); printf(请依次输入 %d 个页面号: n,N

10、); for(i=0;iN;i+) scanf(%d,&Ai); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 9 页 - - - - - - - - - /FIFO for(i=0;iN;i+) Bi=Ai; for(i=0;iN;i+) FIFO( Bi ); printf(FIFO 的); printf(调入队列为: ); for(i=0;iK;i+) printf(%3d,queue1i); printf(n 缺页次数为: %6dn 缺页率: %16.6fnn,

11、K,(float)K/N); /LRU INIT(); for(i=0;iN;i+) Bi=Ai; for(i=0;iN;i+) LRU( Bi ); printf(LRU 的); printf(调入队列为: ); for(i=0;iS;i+) printf(%3d,queue2i); printf(n 缺页次数为: %6dn 缺页率: %16.6fnn,S,(float)S/N); /OPT 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 9 页 - - - - - - - - - INIT(); for(i=0;iN;i+) Bi=Ai; for(i=0;iN;i+) OPT( Bi ); printf(OPT 的 ); printf(调入队列为: ); for(i=0;iT;i+) printf(%3d,queue3i); printf(n 缺页次数为: %6dn 缺页率: %16.6fnn,T,(float)T/N); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 9 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁