欢迎来到天天文库
浏览记录
ID:34066973
大小:49.00 KB
页数:10页
时间:2019-03-03
《计算机操作系统实验模拟比较页面置换页算法及缺页率(1)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、成绩计算机操作系统实验模拟比较页面置换页算法及缺页率学号200510020220姓名乔峰班级信息052实验名称:模拟比较页面置换页算法及缺页率实验目的:(1)掌握先进先出页面置换算法;(2)掌握最近未用页面置换算法;(3)了解最近最久未使用页面置换算法以及其他页面置换算法;(4)熟悉C/C++编程。实验学时:6学时实验内容:编写程序,设置不同的页面数,使用不同的页面替换策略算法进行模拟页面替换。先进先出,最近未用页面置换算法等,并计算缺页率。实验环境:(1).PC微机(2).Windows操作系统(3).C/C++开发环境实验原理及算法参考程序段:#
2、include#include#include#include#includeintadd[256]/*地址*/,page[256]/*页面*/;intk,j,ram,t;floatrate;/*缺页率*/structs1{intpage;intfree;inttag;}fifo[33],opt[33],lru[33];structs2{inttime;};voidaddress();floatFIFO(intram);/*先进先出*/floatLRU(intram
3、);/*最近最久未使用页面置换*/voidaddress()/*产生指令地址*/{inti;add[0]=1000;for(i=1;i<=255;i++){intx=random(1024);if((x>=0)&&(x<512))add[i]=add[i-1]+1;if((x>=512)&&(x<768))add[i]=random(add[i-1]-1)+1;if((x>=768)&&(x<1024))add[i]=add[i-1]+random(30*1024-add[i-1]-1)+1;}}floatFIFO(intram){intabsent
4、=0,t=0,i,z,l,yn;for(i=0;i5、l6、;fifo[t].tag=1;l=0;}}i++;}rate=(float)absent/j*100;returnrate;}floatLRU(intram){intabsent=0,yn,t,i,l,z,now=0;structs2P[250];for(i=0;i7、[i]){now+=1;P[lru[z].page].time=now;yn=1;}if(yn!=1){absent+=1;now+=1;l=0;while((l<=ram)&&(lru[l].free==0))l++;if((l<=ram)&&(lru[l].free==1))/*anyfreeram?*/{lru[l].page=page[i];P[lru[l].page].time=now;lru[l].free=0;}else/*thereisnoram*/{t=0;for(l=0;l8、me
5、l6、;fifo[t].tag=1;l=0;}}i++;}rate=(float)absent/j*100;returnrate;}floatLRU(intram){intabsent=0,yn,t,i,l,z,now=0;structs2P[250];for(i=0;i7、[i]){now+=1;P[lru[z].page].time=now;yn=1;}if(yn!=1){absent+=1;now+=1;l=0;while((l<=ram)&&(lru[l].free==0))l++;if((l<=ram)&&(lru[l].free==1))/*anyfreeram?*/{lru[l].page=page[i];P[lru[l].page].time=now;lru[l].free=0;}else/*thereisnoram*/{t=0;for(l=0;l8、me
6、;fifo[t].tag=1;l=0;}}i++;}rate=(float)absent/j*100;returnrate;}floatLRU(intram){intabsent=0,yn,t,i,l,z,now=0;structs2P[250];for(i=0;i7、[i]){now+=1;P[lru[z].page].time=now;yn=1;}if(yn!=1){absent+=1;now+=1;l=0;while((l<=ram)&&(lru[l].free==0))l++;if((l<=ram)&&(lru[l].free==1))/*anyfreeram?*/{lru[l].page=page[i];P[lru[l].page].time=now;lru[l].free=0;}else/*thereisnoram*/{t=0;for(l=0;l8、me
7、[i]){now+=1;P[lru[z].page].time=now;yn=1;}if(yn!=1){absent+=1;now+=1;l=0;while((l<=ram)&&(lru[l].free==0))l++;if((l<=ram)&&(lru[l].free==1))/*anyfreeram?*/{lru[l].page=page[i];P[lru[l].page].time=now;lru[l].free=0;}else/*thereisnoram*/{t=0;for(l=0;l8、me
8、me
此文档下载收益归作者所有