版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、在内存划出一块区域,并进行页面划分;设计请求页表;模拟页面分配;分别模拟先进先出页面淘汰算法FIFO”、最近最少使用页面淘汰算法LRU和理想型淘汰算法OPTTFIFO,LRU,OPE种算法。将结果保存本程序随机产生请求序列,分别模拟在FIFO.txt,LRU.txt,OPT.tx巳个文件中。程序代码:#include<stdio.h>#include<stdlib.h>#include<time.h>#defineN20#defineP3structDuLNodeintdata;structDuLNode*prior;structDuLNode*next;i
2、ntpageFIFON+1;intfront=0,rear=0;intpageingN+1,pmemP+1;intmemcount=1;voidinit(inta,intT)inti;for(i=0;i<=T;i+)ai=-2;intinsert_item(intitem,intque,intT)if(rear+1)%(T+1)=front)return1;querear=item;rear=(rear+1)%(T+1);return0;intremove_item(int*item,intque,intT)if(front=rear)return1;*item=quefront;fro
3、nt=(front+1)%(T+1);return0;intfindif(inta,intb,intT)inti;for(i=1;i<=T;i+)if(ai=b)returni;return-1;voidinsertintomem(inta,intb,intn)if(memcount<=P)amemcount=b;memcount+;elsean=b;voidinitpage(intpage)inttemp,i;srand(unsigned)time(0);for(i=1;i<=N;i+)temp=rand()%10;pagei=temp;voidaddtoLink(stru
4、ctDuLNode*p,inte)structDuLNode*add;add=malloc(sizeof(structDuLNode);add->data=e;add->prior=p->prior;p->prior->next=add;add->next=p;p->prior=add;intgetI(structDuLNode*p,inte)inti;structDuLNode*cd=p;for(i=1;i+)cd=cd->next;if(cd->data=e)returni;if(cd=p)return-1;voiddeleLink(s
5、tructDuLNode*p,inti,int*e)intn;structDuLNode*cd=p;for(n=1;n<=i;n+)cd=cd->next;*e=cd->data;cd->prior->next=cd->next;cd->next->prior=cd->prior;free(cd);voidremovebottom(structDuLNode*p,int*e)structDuLNode*cd=p->next;*e=cd->data;cd->next->prior=p;p->next=cd->
6、;next;free(cd);intgetcount(inta,intb,intn,intT)inti;for(i=n;i<=T;i+)if(ai=b)return(i-n);return-1;voidgetreplacepage(inta,intb,inti,int*e)intt,cP+1,temp,T,count=0,errorP+1;for(t=1;t<=P;t+)if(getcount(a,bt,i,N)!=-1)ct=getcount(a,bt,i,N);elseerror+count=bt;if(count=0)temp=c1;T=b1;for(t=1;t<=P;
7、t+)if(ct>temp)temp=ct;T=bt;*e=T;elsefor(t=1;t<=count;t+)ct=findif(a,errort,N);temp=c1;T=error1;for(t=1;t<=count;t+)if(ct<temp)temp=ct;T=errort;*e=T;voidmain()inti,temp,temp1,error=0,ErrorCP;FILE*fp1,*fp2,*fp3;structDuLNode*p;p=(structDuLNode*)malloc(sizeof(structDuLNode);p->prior=p-&g
8、t;next=p;initpage(pageing);init(pmem,P);if(fp1=fopen("FIFO.txt","a")=NULL)printf("不能打开文件!n");exit(1);for(i=1;i<=N;i+)fprintf(fp1,"%d",pageingi);fprintf(fp1,"n");for(i=1;i<=N;i+)if(memcount>P&&findif(pmem,pageingi,P)=-1)remove_item(&a
9、mp;temp,pageFIFO,N);insertintomem(pmem,pageingi,findif(pmem,temp,P);insert_item(pageingi,pageFIFO,N);fprintf(fp1,"%d被引用,d被替换->出现第d次错误!n",pageingi,temp,+error);elseif(memcount<=P&&findif(pmem,pageingi,P)=-1)insertintomem(pmem,pageingi,memcount);insert_item(pageingi,pageFIFO,N)
10、;fprintf(fp1,"页中未满。%d被引用,出现第d次错误!n",pageingi,+error);elsefprintf(fp1,"%d已在页中->未出现错误。n",pageingi);fclose(fp1);ErrorC0=error;memcount=1;error=0;init(pmem,P);if(fp2=fopen("LRU.txt","a")=NULL)printf("不能打开文件!n");exit(1);for(i=1;i<=N;i+)fprintf(fp2,&
11、quot;%d",pageingi);fprintf(fp2,"n");for(i=1;i<=N;i+)if(memcount>P&&findif(pmem,pageingi,P)=-1)removebottom(p,&temp);insertintomem(pmem,pageingi,findif(pmem,temp,P);if(getI(p,pageingi)!=-1)deleLink(p,getI(p,pageingi),&temp1);addtoLink(p,pageingi);fprintf(fp2,"
12、;%d被引用,d被替换->出现第d次错误!n",pageingi,temp,+error);elseif(memcount<=P&&findif(pmem,pageingi,P)=-1)insertintomem(pmem,pageingi,memcount);addtoLink(p,pageingi);fprintf(fp2,"页中未满。%d被引用->出现第d次错误!n",p->prior->data,+error);elsedeleLink(p,getI(p,pageingi),&temp1);addtoL
13、ink(p,pageingi);fprintf(fp2,"%d已在页中->未出现错误。n",pageingi);fclose(fp2);ErrorC1=error;memcount=1;error=0;init(pmem,P);if(fp3=fopen("OPT.txt","a")=NULL)printf("不能打开文件!n");exit(1);for(i=1;i<=N;i+)fprintf(fp3,"%d",pageingi);fprintf(fp3,"n");
14、for(i=1;i<=N;i+)if(memcount>P&&findif(pmem,pageingi,P)=-1)getreplacepage(pageing,pmem,i,&temp);insertintomem(pmem,pageingi,findif(pmem,temp,P);fprintf(fp3,"%d被引用,d被替换-出现第d次错误!n",pageingi,temp,+error);elseif(memcount=P&&findif(pmem,pageingi,P)=-1)insertintomem(pmem,pageingi,memcount);fprintf(fp3,"页中未满。%d被引用-出现第d次错误!n",pageingi,+error);elsefprintf(fp3,"%d已在页中-未出现错误。n&qu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 流体力学基本方程
- 《 低渗透油藏井网部署的油藏工程方法研究》范文
- 1.3.1-二项式定理-公开课一等奖课件
- DB13-T 3008.4-2024 人力资源服务规范 第4部分:职业指导服务
- 农产品追溯与质量安全管理方案
- 农业资源优化与可持续性发展策略
- 铁路车辆制修工技能竞赛考试题库备赛500题(含答案)
- 烫伤事故预防措施
- 施工现场防火要求
- 重庆市2024+年春高一(下)期末联合检测+生物
- 控制系统仿真与CAD-实验报告(共33页)
- 北京课改版五年级数学上册教学计划
- 模具制作与维修作业指导书
- 《残疾人服务中心满意度调查表》
- T∕CEPPEA 5004.4-2020 核电厂常规岛施工图设计文件内容深度规定 第4部分:电气
- 数据结构》课程教案
- 卓越绩效模式企业自评师考试题
- 光学薄膜软件thin film center essential macleod v97教程及pr培训
- 宫腹腔镜联合导丝治疗输卵管阻塞ppt课件
- 教案被除数和除数末尾都有0的除法
- 旋挖桩钢护筒施工方案
评论
0/150
提交评论