换页算法的比较和BELADY现象的验证实验报告.docx
- 文档编号:10497195
- 上传时间:2023-02-14
- 格式:DOCX
- 页数:16
- 大小:18.44KB
换页算法的比较和BELADY现象的验证实验报告.docx
《换页算法的比较和BELADY现象的验证实验报告.docx》由会员分享,可在线阅读,更多相关《换页算法的比较和BELADY现象的验证实验报告.docx(16页珍藏版)》请在冰豆网上搜索。
换页算法的比较和BELADY现象的验证实验报告
操作系统实验报告
姓名:
学号
班级:
院系:
数学与计算机学院
实验三换页算法的比较和BELADY现象的验证
一、目的和要求
1.实验目的
(1)掌握先进先出页面置换算法;
(2)掌握OPT页面置换算法;
(3)掌握最近最少使用页面置换算法;
(4)熟悉BLEEDY现象及其产生原理;
(5)熟悉C/C++编程。
2、实验要求
(1)进程占用内存空间共640K,页面大小是1K/2K/4K/8K;
(2)随机生成256个页面置换次序;
(3)用于分配页面大小的内存总空间是32K;
(4)给出四种页面置换算法的换页过程,并计算各自的缺页率。
二、实验内容
编写程序,使用三种不同的页面替换策略算法进行页面替换。
分别是先进先出,最近最久未使用,最佳置换页面替换,并计算缺页率。
3、参考程序
#include
#include
#include
#include
#include
intadd[256]/*地址*/,page[256]/*页面*/;
intk,j,ram,t;
floatrate;/*缺页率*/
#definerandom(num)(rand()%(num))
structs1
{
intpage;
intfree;
inttag;
}fifo[33],opt[33],lru[33];
FILE*fp;
structs2
{
inttime;
};
voidaddress();
floatFIFO(intram);/*先进先出*/
floatOPT(intram);/*理想型*/
floatLRU(intram);/*最近最久未使用页面置换*/
voidmain()
{
inti,p[256];/*页号*/
fp=fopen("d:
\process.txt","w");
address();
for(k=1;k<=8;)/*页面大小:
1k,2k,4k,8K*/
{
fprintf(fp,"\nthesizeofapageis%dk\n",k);
printf("thepagenumis...\n");
for(i=0;i<256;i++)
{
p[i]=add[i]/(k*1024);/*将指令地址生成相应的页号*/
printf("%d",p[i]);
}
j=0;
for(i=0;i<256;i++)
{
while(p[i]==p[i+1])
i++;
page[j]=p[i];
j++;
}
fprintf(fp,"\nafterconnectthesamepagesthepagenumis:
\n");
for(i=0;i fprintf(fp,"%d",page[i]); fprintf(fp,"\n"); getch(); for(ram=1;ram<=32;ram++) {//if(ram==10)getch(); fprintf(fp,"\nblock=%dpages=%d,absentrate: ",ram,j); fprintf(fp,"FIFO=%0.2f%%",FIFO(ram)); fprintf(fp,"LRU=%0.2f%%",LRU(ram)); fprintf(fp,"OPT=%0.2f%%",OPT(ram)); } k=k*2; getch(); } fclose(fp); } 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=0,t=0,i,z,l,yn; for(i=0;i { fifo[i].page=-1; fifo[i].free=1; fifo[i].tag=0; } i=0; while(i { yn=0; for(z=0;z */ if(fifo[z].page==page[i]) { yn=1; for(z=0;z if(fifo[z].free==0) fifo[z].tag+=1; } if(yn! =1) { absent+=1;/*counttheabsentpage*/ l=0; while((l l++; if((l */ { fifo[l].page=page[i]; fifo[l].free=0; for(l=0;l if(fifo[l].free==0) fifo[l].tag+=1; } else/*thereisnofreeram*/ { t=0; for(l=0;l if(fifo[l].tag t=l; fifo[t].page=page[i]; fifo[t].free=0; 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;i P[i].time=0; for(i=0;i { lru[i].page=-1; lru[i].free=1; } i=0; while(i { for(l=0;l yn=0; {for(z=0;z if(lru[z].page==page[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)) i++; 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;l if(P[lru[l].page].time t=l; lru[t].page=page[i]; P[lru[t].page].time=now; } } } i++; } rate=(float)absent/j*100; returnrate; } floatOPT(intram) {intyn,t,absent=0,i,l1,k,l; for(i=0;i {opt[i].page=-1; opt[i].free=1; opt[i].tag=0; } i=0; while(i */ {yn=0; for(l1=0;l1 if(page[i]==opt[l1].page) {yn=1; for(k=0;k opt[k].tag-=1; } if(yn! =1)/*counttheabsentpage*/ {absent+=1; l=0; while((l l++; if((l<=ram)&&(opt[l].free==1)) { opt[l].page=page[i]; opt[l].free=0; opt[l].tag=1; for(l=0;l { opt[l].tag-=1; } } else/*thepageisnotintheram*/ { for(l=0;l { t=i; while(t =page[t]) {t++; opt[l].tag+=1; } } t=0; for(l=0;l if(opt[l].tag>opt[t].tag) t=l; opt[t].page=page[i]; opt[t].tag=1; } } i++; } rate=(float)absent/j*100; returnrate; } 4、实验结果及分析 实验结果: thesizeofapageis1k afterconnectthesamepagesthepagenumis: 01961240125323161161022281131827282962181274102125611726281027861828172428232822230253017242528611262993221923262711135274851120252111107626212879027232911836021317828080 block=1pages=111,absentrate: FIFO=100.00%LRU=100.00%OPT=100.00% block=2pages=111,absentrate: FIFO=90.99%LRU=98.20%OPT=90.09% block=3pages=111,absentrate: FIFO=90.09%LRU=93.69%OPT=80.18% block=4pages=111,absentrate: FIFO=83.78%LRU=90.99%OPT=72.07% block=5pages=111,absentrate: FIFO=81.08%LRU=86.49%OPT=70.27% block=6pages=111,absentrate: FIFO=79.28%LRU=83.78%OPT=67.57% block=7pages=111,absentrate: FIFO=77.48%LRU=79.28%OPT=64.86% block=8pages=111,absentrate: FIFO=74.77%LRU=72.97%OPT=56.76% block=9pages=111,absentrate: FIFO=70.27%LRU=67.57%OPT=54.95% block=10pages=111,absentrate: FIFO=70.27%LRU=65.77%OPT=48.65% block=11pages=111,absentrate: FIFO=65.77%LRU=63.96%OPT=46.85% block=12pages=111,absentrate: FIFO=61.26%LRU=61.26%OPT=45.95% block=13pages=111,absentrate: FIFO=58.56%LRU=55.86%OPT=45.05% block=14pages=111,absentrate: FIFO=56.76%LRU=53.15%OPT=45.05% block=15pages=111,absentrate: FIFO=50.45%LRU=50.45%OPT=41.44% block=16pages=111,absentrate: FIFO=47.75%LRU=49.55%OPT=38.74% block=17pages=111,absentrate: FIFO=46.85%LRU=47.75%OPT=35.14% block=18pages=111,absentrate: FIFO=43.24%LRU=45.95%OPT=34.23% block=19pages=111,absentrate: FIFO=39.64%LRU=45.05%OPT=33.33% block=20pages=111,absentrate: FIFO=37.84%LRU=39.64%OPT=29.73% block=21pages=111,absentrate: FIFO=36.94%LRU=39.64%OPT=28.83% block=22pages=111,absentrate: FIFO=35.14%LRU=35.14%OPT=27.93% block=23pages=111,absentrate: FIFO=32.43%LRU=32.43%OPT=26.13% block=24pages=111,absentrate: FIFO=28.83%LRU=31.53%OPT=25.23% block=25pages=111,absentrate: FIFO=26.13%LRU=29.73%OPT=25.23% block=26pages=111,absentrate: FIFO=26.13%LRU=26.13%OPT=25.23% block=27pages=111,absentrate: FIFO=25.23%LRU=25.23%OPT=25.23% block=28pages=111,absentrate: FIFO=25.23%LRU=25.23%OPT=25.23% block=29pages=111,absentrate: FIFO=25.23%LRU=25.23%OPT=25.23% block=30pages=111,absentrate: FIFO=25.23%LRU=25.23%OPT=25.23% thesizeofapageis2k afterconnectthesamepagesthepagenumis: 09362062111853011140691314310463201012308131401343914812141114110121081214351314411191113562132425101210531316434013111454130168414040 block=1pages=102,absentrate: FIFO=100.00%LRU=100.00%OPT=100.00% block=2pages=102,absentrate: FIFO=87.25%LRU=93.14%OPT=84.31% block=3pages=102,absentrate: FIFO=83.33%LRU=86.27%OPT=67.65% block=4pages=102,absentrate: FIFO=72.55%LRU=78.43%OPT=58.82% block=5pages=102,absentrate: FIFO=65.69%LRU=72.55%OPT=52.94% block=6pages=102,absentrate: FIFO=61.76%LRU=60.78%OPT=42.16% block=7pages=102,absentrate: FIFO=55.88%LRU=56.86%OPT=32.35% block=8pages=102,absentrate: FIFO=50.00%LRU=48.04%OPT=29.41% block=9pages=102,absentrate: FIFO=44.12%LRU=39.22%OPT=28.43% block=10pages=102,absentrate: FIFO=38.24%LRU=31.37%OPT=23.53% block=11pages=102,absentrate: FIFO=28.43%LRU=26.47%OPT=22.55% block=12pages=102,absentrate: FIFO=21.57%LRU=24.51%OPT=16.67% block=13pages=102,absentrate: FIFO=15.69%LRU=20.59%OPT=14.71% block=14pages=102,absentrate: FIFO=13.73%LRU=13.73%OPT=13.73% block=15pages=102,absentrate: FIFO=13.73%LRU=13.73%OPT=13.73% thesizeofapageis4k afterconnectthesamepagesthepagenumis: 04131031054210520346715231056104670621474675750604671267205456231612125621603212065720103427020 block=1pages=96,absentrate: FIFO=100.00%LRU=100.00%OPT=100.00% block=2pages=96,absentrate: FIFO=82.29%LRU=87.50%OPT=80.21% block=3pages=96,absentrate: FIFO=71.88%LRU=78.13%OPT=54.17% block=4pages=96,absentrate: FIFO=53.13%LRU=60.42%OPT=40.63% block=5pages=96,absentrate: FIFO=46.88%LRU=41.67%OPT=27.08% block=6pages=96,absentrate: FIFO=36.46%LRU=29.17%OPT=18.75% block=7pages=96,absentrate: FIFO=20.83%LRU=19.79%OPT=13.54% block=8pages=96,absentrate: FIFO=8.33%LRU=8.33%OPT=8.33% block=9pages=96,absentrate: FIFO=8.33%LRU=8.33%OPT=8.33% block=10pages=96,absentrate: FIFO=8.33%LRU=8.33%OPT=8.33% thesizeofapageis8k afterconnectthesamepagesthepagenumis: 020101021021012302102302303102323232030230131023103010123010301010323101213010 block=1pages=78,absentrate: FIFO=100.00%LRU=100.00%OPT=100.00% block=2pages=78,absentrate: FIFO=60.26%LRU=67.95%OPT=50.00% block=3pages=78,absentrate: FIFO=29.49%LRU=32.05%OPT=25.64% block=4pages=78,absentrate: FIFO=5.13%LRU=5.13%OPT=5.13% block=5pages=78,absentrate: FIFO=5.13%LRU=5.13%OPT=5.13% block=6pages=78,absentrate: FIFO=5.13%LRU=5.13%OPT=5.13% block=7pages=78,absentrate: FIFO=5.13%LRU=5.13%OPT=5.13% block=8pa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 换页 算法 比较 BELADY 现象 验证 实验 报告