存储管理的页面置换算法

存储管理的页面置换算法

ID:15812993

大小:57.50 KB

页数:12页

时间:2018-08-05

存储管理的页面置换算法_第1页
存储管理的页面置换算法_第2页
存储管理的页面置换算法_第3页
存储管理的页面置换算法_第4页
存储管理的页面置换算法_第5页
资源描述:

《存储管理的页面置换算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。