操作系统实验五:页面置换算法模拟

上传人:ba****u 文档编号:166073743 上传时间:2022-10-31 格式:DOCX 页数:10 大小:43.50KB
收藏 版权申诉 举报 下载
操作系统实验五:页面置换算法模拟_第1页
第1页 / 共10页
操作系统实验五:页面置换算法模拟_第2页
第2页 / 共10页
操作系统实验五:页面置换算法模拟_第3页
第3页 / 共10页
资源描述:

《操作系统实验五:页面置换算法模拟》由会员分享,可在线阅读,更多相关《操作系统实验五:页面置换算法模拟(10页珍藏版)》请在装配图网上搜索。

1、实验五.请求页式存储管理的模拟实验内容:熟悉虚拟存储管理的各种页面置换算法,并编写模拟程序实现请求页式存储管理的页面置换算法最近最久未 使用算法(LRU),要求在每次产生置换时显示页面分配状态和缺页率。实验要求:1、运行给出的实验程序,查看执行情况,进而分析算法的执行过程,在理解FIFO页面置换算法和最近最久未使 用算法(LRU)置换算法后,给出最佳置换算法的模拟程序实现,并集成到参考程序中。2、执行2个页面置换模拟程序,分析缺页率的情况。最好页框数和访问序列长度可调节,在使用同一组访问序 列数据的情况下,改变页框数并执行2个页面置换模拟程序,查看缺页率的变化。3、在每次产生置换时要求显示分配

2、状态和缺页率。程序的地址访问序列通过随机数产生,要求具有足够的长度。 最好页框数和访问序列长度可调节。实验的执行结果如下图所示(左下图为FIFO执行结果,右下图为LRU执行结果):fefe 请请 rafts- 面面打 w US. FILE请 址仃岀 要要要 若若若1 2 / / /i.EE外 贝贝“Fou按 FlLR请 豆仃出 S5S 若若若Enter your choice (1 op 2 or 3:你按的是:1 现在为你执行对应操低*#*#*F I FoWfi*”输入要分配的瓦框数:5 请输入要随机生成访问序列的长度:25=!面访问序列=10 W 2 2 4 2 5 15 3 1514 1

3、1 11 6 2 13 13 & 14 145?91314Enter your chnice (1 or 2 op 3Jr柞按的是:2现在林执行对应換假 毎秋行讽 翼在曲请输入要分配的血框数;5 *输入瓢机空戒访问序列的长度;25 =页面访问序列=10 0 2 2 4 2 5 15 3 1514 11 11 6 2 13 13 6 14 14579 13 14$1.0.0 -3 0 -旦旦贝3 6 4 5 0 12 whhm n 缺鮫缺. 缺缺缺 7 7 y=缺应鮫旦至3乩0=缺:贝取贝皋34te.fe.fe.一见见贝-HKKnx 龊鮫缺缺 敝籤籤缺, y- y- y y10100100210

4、021002吟1002吟1002451502451532451532451532145153214111532141115361411152&111132&111132&111132&111132&11132&11132&513?&59?&159?13159?13L45内内内内内内内内内内内内内内内内内內內內內內内内内0022425535411 & 233 & 44r_J7?341 11111 1111 11r-T r-T r-T - -IT -_1- -_1- -_1-r-Tr-Tr-Tr-T 一 lT 一 lT 一 lT - -IT - IT - IT - IT - 1- - _- - _

5、|- - _|- 着着炉廿廿廿护护护护炉廿廿萨护护护护护护护护护护护$001 一 0 0缺缺缺_贝页页z X/=缺页缺3 9 4-5 0 12 鈕毬子存牛 In直贝 缺缺缺缺缺缺z z z0 &3 3率舉_貝贝缺缺r_J ? 7 9 2 &3 4 4率sfi缺缺缺0 ? r_J 0 2 5 4 4 4 .军军 rlw 贝 fe缺缺虫贝缺缺 z页_贝贝缺缺嵌 页页贞缺缺缺xz J XZ1W1W 1W 21W 21W 210 210 Q 2IF Q 21S 3 21S 3 21531415314153141531423142 13 142 13 142 13 142 13 142 13 142 1

6、3 52 13 52 13 52 13 5缺页缺nM45.S內内内内内内内内内內內內內內內内內內內內内內內內内10遇 2242153151411112均121414791214kJ- fej- fej- fej- fej- fej- fcj- fcj- fcj- fcj- fcj fcj fcj fcj fcj bnT fcji fcji fcji fcji fcj- LhJ- LhJ- LhJ- *!-#? 廿# 廿* 廿廿.ff.计.计.计.程序源代码:#in elude #in elude wi ndows.h#in clude #in clude #in clude #in clude

7、 #in clude #in clude void in itialize();初始化相关数据结构void cr eateps();随机生成访问序列void displayi nfo();显示当前状态及缺页情况void fifo();先进先出算法intfin dpage();/查找页面是否在内存void lr u();最近最久未使用算法intinv alidco unt二0;/缺页次数intvpoi nt;页面访问指针intpageframe10;/ 分配的页框intpagehisto ry10;记录页框中数据的访问历史intrpoi nt;页面替换指针intin pflag;缺页标志,0为不

8、缺页,1为缺页str uct Page Info页面信息结构intser ial100;intflag;intdiseffect;inttotal_pf;inttotal_p n; pf_info;/模拟的最大访问页面数,实际控制在20以上/标志位, 0表示 无页面访问数据/缺页次数/分配的页框数/访问页面序列长度/初始化相关数据结构void in itialize()int i,pf;inpflag=O;缺页标志,0为不缺页,1为缺页pf_info.diseffect =0;/ 缺页次数pf_info.flag =0;标志位,0表示无页面访问数据printf(n请输入要分配的页框数:);/自

9、定义分配的页框数 sca nf(%d,&pf);pf_in fo.total_pf =pf;for(i=0;i100;i +)/ 清空页面序列pf_in fo.se riali = -1;/随机生成访问序列void cr eateps(void )int s,i,p n;in itialize();初始化相关数据结构printf(n请输入要随机生成访问序列的长度:);自定义随机生成访问序列的长度 sea nf(%d,&pn);srand(ran d();初始化随机数队列的种子s=(float) rand() / 32767) * 50 + pn; / 随机产生页面序列长度 pf_in fo.t

10、otal_p n 二 s;for (i=0;is;i +)产生随机访问序列pf_info.seriali=(float) rand() / 32767) * 16 ;随机数的大小在 0-15 之间/显示当前状态及缺页情况void displayi nfo(void)int i,n;if(vpo in t=0)pri ntf (n二二二二二二二二二二二二二页面访问序歹 g 二二二二二二二二二二二二二n);for (i=0; ipf_i nf o.total_p n; i +)prin tf(%4d,p f_in fo.s er iali);if (i + 1) % 10 =0) p rin tf

11、(n);每行显示 10 个printf (n二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二n);printf(访问%3d :内存,pf_info.serialvpoint);for(n=O;n二0)prin tf(%3d,pageframe n);elseprin tf();printf( );if(inpflag = = 1)缺页标志,0为不缺页,1为缺页printf(= 缺页);printf(缺页率 %3.1f,(float)(p f_in fo.diseffeet)*100.00/vpoi nt);prin tf(n);/查找页面是否在内存,1为在内存,0为

12、不在即缺页int fin dpage(i nt page)int n;for(n二 0; npf_i nfo.total_pf; n + +)pagehistoryn + + ;/ 访问历史加 1for(n=0;npf_inf o.total_pf; n + +)if (page fr ame n二二page )inpflag=0 ;/inpflag缺页标志,0为不缺页,1为缺页pagehistoryn=0;置访问历史为 0return 1;in pflag = 1;页面不存在,缺页retu rn 0;/ FIFO页面置换算法void fifo(void)int n,coun t,pstate

13、;rpoint=0;/页面替换指针初始化为0invalidcount二0; /缺页数初始化为0createps();/随机生成访问序列count=0;/是否装满是所有的页框for(n=0;npf_info.total_pf;n + +) / 清除页框信息pageframe n二-1;inpflag=0;缺页标志,0为不缺页,1为缺页for(vpoint=0;vpointpf_info.total_pn;vpoint+) / 执行算法pstate二findpage(pf_info.serialvpoint); 查找页面是否在内存 if(countpf_info.total_pf)/ 开始时不计算

14、缺页if(pstate=0) /页不存在则装入页面page fr ame rpoi nt二pf_i nfo.se rialvpoi nt;rpoint=(rpoin t+1) % pf_inf o.total_pf;coun t+ + ;else/正常缺页置换if(pstate=O) /页不存在则置换页面pageframe rpoi nt二pf_i nfo.se rialvpoi nt;rpoint=(rpoin t+1) % pf_in fo.total_pf;pf_info.diseffect+ + ;/ 缺页次数加 1Sleep(10);displayinfo();/显示当前状态/置换算

15、法循环结束getch();retu rn;/ LRU页面置换算法void lr u(void)int n,coun t,pstate,max;rpoint=0;/页面替换指针invalidcount二0; /缺页次数初始化为0createps();/随机生成访问序列count=0;/是否装满所有的页框for(n二 0; npf_i nfo.total_pf; n + +)pageframen = -1;/清除页框信息pagehistoryn=0;/ 清除页框历史inpflag=0;缺页标志,0为不缺页,1为缺页for(vpoint=0;vpointpf_info.total_pn;vpoint

16、+) / 执行算法pstate=findpage(pf_info.serialvpoint); 查找页面是否在内存if(countpf_info.total_pf)/ 开始时不计算缺页if(pstate=0) /页不存在则装入页面pagef rame rpoi nt二pf_i nfo.se rialvpoi nt; /把要调入的页面放入一 空的页框里 rpoint=(rpoin t+1) % pf_inf o.total_pf;coun t+ + ;else /正常缺页置换if(pstate=0)/页不存在则置换页面max=O;for(n 二1; npagehist orymax)max 二n

17、;r poi nt=max;pagef rame rpoi nt二pf_i nfo.se rialvpoi nt; pagehisto ry rpoi nt=O;pf_info.diseffect+ + ; / 缺页次数加 1Sleep(10); displayinfo(); /显示当前状态 /置换算法循环结束_getch();return;/最佳置换算法自己完成/ 主函数int ma in() char ch;system(cls); while ( true ) prin tf(*printf(若要执行FIFO页面置算法请按1n);printf(若要执行LRU页面置算法请按2n);prin

18、 tf(若要退出请按3n);prin tf(*prin tf( E nter your choice (1 or 2 or 3):); do如果输入信息不正确,继续输入ch 二(cha r)getch();while(ch != 1 & ch != 2 & ch != 3);printf(nn你按的是:%c,现在为你执行对应操作。,ch); if(ch 二二3)/选择 3,退出return 0;elseif(ch 二二 T) 选择 1, FIFOprintf(nn * *扌丸行FIFO算法 *n);fifo();elseprintf(nn * *扌丸行LRU算法 *n);lr u();system(cls);prin tf(nnPr ess Any Key To Con ti nu e:);getch();retu rn 0;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!