页面置换算法模拟——OPT、FIFO和LRU算法(共16页)

上传人:4**** 文档编号:51139630 上传时间:2022-01-24 格式:DOC 页数:16 大小:113KB
收藏 版权申诉 举报 下载
页面置换算法模拟——OPT、FIFO和LRU算法(共16页)_第1页
第1页 / 共16页
页面置换算法模拟——OPT、FIFO和LRU算法(共16页)_第2页
第2页 / 共16页
页面置换算法模拟——OPT、FIFO和LRU算法(共16页)_第3页
第3页 / 共16页
资源描述:

《页面置换算法模拟——OPT、FIFO和LRU算法(共16页)》由会员分享,可在线阅读,更多相关《页面置换算法模拟——OPT、FIFO和LRU算法(共16页)(16页珍藏版)》请在装配图网上搜索。

1、精选优质文档-----倾情为你奉上 操作系统实验报告 页面置换算法模拟 ——OFT、FIFO和LRU算法 班级:2013级软件工程1班 学号:X X X 姓名:萧氏一郎 数据结构说明: Memery[10]物理块中的页码 Page[100]页面号引用串 Temp[100][10]辅助数组 Void print(unsigned int t)辅助函数 Viod FIFO()先进先出页面置换算法 Viod LRU()最近最久未使用置换换算法 Viod OPT()最佳置换算法 流程图:

2、开始 NO NO NO Yes Yes Yes 结束 页号序列载完? 根据选择的置换算法完成 号存在物理块中 引用编号大于物理块数 将页号放入物理地址中编号 载入序列号,从第0个得到页号 源代码: #incl

3、ude #include /*全局变量*/ int mSIZE; /*物理块数*/ int pSIZE; /*页面号引用串个数*/ static int memery[10]={0}; /*物理块中的页号*/ static int page[100]={0}; /*页面号引用串*/ static int temp[100][10]={0}; /*辅助数组*/ /*置换算法函数*/ void FIFO(); void LRU(); void OPT(); /*辅助函数*/ void print(unsigned int t);

4、 void designBy(); void download(); void mDelay(unsigned int Delay); /*主函数*/ void main() { int i,k,code; printf("请输入物理块的个数(M<=10):"); scanf("%d",&mSIZE); printf("请输入页面号引用串的个数(P<=100):"); scanf("%d",&pSIZE); puts("请依次输入页面号引用串(连续输入,无需隔开):"); for(i=0;i

5、d",&page[i]); download(); do{ puts("输入的页面号引用串为:"); for(k=0;k<=(pSIZE-1)/20;k++) { for(i=20*k;(i

6、* * * * * * * * * * * * * * * * * * *\n"); printf("* 请选择页面置换算法:\t\t\t *\n"); printf("* ----------------------------------------- *\n"); printf("* 1.先进先出(FIFO) 2.最近最久未使用(LRU) *\n"); printf("* 3.最佳(OPT) 4.退出 *\n"); printf("* * * * * * * * * * * *

7、 * * * * * * * * * * *\n"); printf("请选择操作:[ ]\b\b"); scanf("%d",&code); switch(code) { case 1: FIFO(); break; case 2: LRU(); break; case 3: OPT(); break;

8、 case 4: system("cls"); //system("color 0A"); exit(0); default: printf("输入错误,请重新输入:"); } printf("按任意键重新选择置换算法:>>>"); getch(); }while (code!=4); getch(); } /*载入数据*/ void download() { printf("\nFinish.\n载入成功!"); } /*设置延迟*/ void mDelay(unsig

9、ned int Delay) { unsigned int i; for(;Delay>0;Delay--) { for(i=0;i<124;i++) { printf(" \b"); } } } /*显示设计者信息*/ void print(unsigned int t) { int i,j,k,l; int flag; for(k=0;k<=(pSIZE-1)/20;k++) { for(i=20*k;(i

10、0)||(((i+1)%20)&&(i==pSIZE-1))) printf("%d\n",page[i]); else printf("%d ",page[i]); } for(j=0;j=j) printf(" |%d|",temp[i][j]); else printf(" | |"); } for(i=mSIZE+20*k;(i

11、E)&&(i<20*(k+1));i++) { for(flag=0,l=0;l

12、---------------------------------------\n"); printf("缺页次数:%d\t\t",t+mSIZE); printf("缺页率:%d/%d\n",t+mSIZE,pSIZE); printf("置换次数:%d\t\t",t); printf("访问命中率:%d%%\n",(pSIZE-(t+mSIZE))*100/pSIZE); printf("----------------------------------------\n"); } /*计算过程延迟*/ void compute() { int i; p

13、rintf("正在进行相关计算,请稍候"); for(i=0;i++<30;printf("\b")); for(i=0;i++<30;printf(" ")); for(i=0;i++<30;printf("\b")); } /*先进先出页面置换算法*/ void FIFO() { int memery[10]={0}; int time[10]={0}; /*记录进入物理块的时间*/ int i,j,k,m; int max=0; /*记录换出页*/ int count=0; /*记录置换次数*/ /*前mSIZE个

14、数直接放入*/ for(i=0;i

15、 k++; } if(k==mSIZE) /*如果不在物理块中*/ { count++; /*计算换出页*/ max=time[0]

16、or(j=0;j

17、,k,m; int max=0; /*记录换出页*/ int count=0; /*记录置换次数*/ /*前mSIZE个数直接放入*/ for(i=0;i

18、=0;j

19、g[m]

20、count); } /*最佳置换算法*/ void OPT() { int memery[10]={0}; int next[10]={0}; /*记录下一次访问时间*/ int i,j,k,l,m; int max; /*记录换出页*/ int count=0; /*记录置换次数*/ /*前mSIZE个数直接放入*/ for(i=0;i

21、mery[j]; } for(i=mSIZE;i

22、{ for(l=i+1;l=next[1]?0:1; for(m=2;mnext[max]) max=m; /*下一次访问时间都为pSIZE,则置换物理块中第一个*/ memery[max]=page[i]; for(j=0;j

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

相关资源

更多
正为您匹配相似的精品文档
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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