欢迎来到天天文库
浏览记录
ID:15812993
大小:57.50 KB
页数:12页
时间:2018-08-05
《存储管理的页面置换算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、FCFS算法设计说明:按照所要求的产生随机指令序列,存放在order[320]这个数组中。通过循环产生这些随机指令,每产生一条都要进行下列判断:是否和内存中即mem_volume[4]中存放的页面相同,如果相同则不做任何操作,如果不相同,则产生缺页,相应的缺页次数加一,按照fcfs将最先进入内存的页数淘汰,并将该页写到内存中去。重复上面的操作直到完成这320条指令。Fcfs页面置换算法实现代码:#include#include#includeintmain(void){intorde
2、r[320],mem_volume[4]={100,100,100,100};intl=0,i=0,j,num=0,cx,sign=0,add=0;floatvalue=0,sum=0;srand(time(NULL));for(cx=0;cx<10;cx++){while(i<320){order[i]=rand()%320;//产生随机数放order中for(j=0;j<4;j++)if((order[i]+1)/10==mem_volume[j])sign=1;//通过sign标识判断所调页数是否在内存块中if(sign)sign
3、=0;else{l++;if(mem_volume[3]==100)mem_volume[3]=(order[i]+1)/10;//保证第一次调入的页面都产生缺页else{mem_volume[num]=(order[i]+1)/10;//将所缺页调入到内存块中num=(num+1)%4;//num值为下次所要置换出去的内存块中对应的页数}}i++;order[i]=rand()%(order[i-1]+2);for(j=0;j<4;j++)if(order[i]/10==mem_volume[j])sign=1;if(sign)sig
4、n=0;else{l++;if(mem_volume[2]==100)mem_volume[2]=order[i]/10;else{mem_volume[num]=order[i]/10;num=(num+1)%4;}}i++;order[i]=order[i-1]+1;for(j=0;j<4;j++)if(order[i]/10==mem_volume[j])sign=1;if(sign)sign=0;else{l++;if(mem_volume[1]==100)mem_volume[1]=order[i]/10;else{mem_v
5、olume[num]=order[i]/10;num=(num+1)%4;}}i++;order[i]=rand()%(319-order[i-1]-2)+(order[i-1]+2);for(j=0;j<4;j++)if(order[i]/10==mem_volume[0])sign=1;if(sign)sign=0;else{l++;if(mem_volume[0]==100)mem_volume[0]=(order[i]+1)/10;else{mem_volume[num]=order[i]/10;num=(num+1)%4;}}
6、i++;}value=l/320.0*100;add=add+l;sum=sum+value;}printf("2***************FCFS页面置换算法*******************2");printf("*******************最后一次指令序列************************");for(i=0;i<320;i++){if(i%10==0)printf("");printf("%5d",order[i]);}printf("");printf("************
7、*****************************************");printf("tt十次的平均缺页数为%dtt十次的平均缺页率为%.3f%%",add/10,sum/10);return0;}LRU页面置换算法设计说明:这个算法同FCFS算法的不同之处在于,每产生一条随机指令,如果和4个内存块中的某一个页数相同的话,就要对这4个内存块中的页数重新排序,将每次要置换出去的页数放在mem_volume[3]中,这样,在每次产生缺页的时候,都先将所缺页数写入到该内存块,然后再排序,将其放到mem_vol
8、ume[0]中去。LRU页面置换算法实现代码:#include#include#includeintmain(void){intorder[320],m
此文档下载收益归作者所有