版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贵州大学《机械制图(二)》2023-2024学年第一学期期末试卷
- 贵阳学院《自动控制原理C》2023-2024学年第一学期期末试卷
- 2025黑龙江省安全员-B证考试题库附答案
- 2025年上海建筑安全员考试题库附答案
- 硅湖职业技术学院《广播电视深度报道实务》2023-2024学年第一学期期末试卷
- 2025湖南建筑安全员B证考试题库附答案
- 2025重庆市建筑安全员-B证(项目经理)考试题库
- 广州幼儿师范高等专科学校《建筑、结构识图》2023-2024学年第一学期期末试卷
- 广州新华学院《数字化模具设计》2023-2024学年第一学期期末试卷
- 2025重庆市安全员考试题库
- 非急救转运管理制度
- 第18课《天下第一楼(节选)》 统编版语文九年级下册
- 活动策划部培训课件
- 江苏省盐城市2022-2023学年八年级上学期期末历史试题
- 稻草购销合同模板
- 执法中队竞聘演讲稿
- 国有企业员工守则
- CSR社会责任管理手册模板
- 毛泽东军事思想概述(新)
- 锚杆框格梁施工技术交底
- 商户清场协议书
评论
0/150
提交评论