ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:38.82KB ,
资源ID:20831753      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20831753.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(操作系统请求页式存储管理实验报告分析解析Word文档下载推荐.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

操作系统请求页式存储管理实验报告分析解析Word文档下载推荐.docx

1、b) 用户内存容量为页到32页;c) 用户虚存容量为3K。在用户虚存中,按每存放10条指令排列虚存地址,即20条指令在虚存中的存放方式为:第0条第9条指令为第0页(对应虚存地址为0,9);第0条第9条指令为第1页(对应虚存地址为1,1);第10条第19条指令为第31页(对应虚存地址为3,19)。按以上方式,用户指令可以组成32页。(3) 计算并输出下述各种算法在不同内存容量下的命中率a) 先进先出的算法(FO);) 最近最少使用算法(LR);c) 最佳淘汰算法(OP);命中率=1页面失效次数/页地址流长度在本实验中,页地址流长度为32,页面失效次数为每次访问相应指令时,该指令所对应的页不在内存

2、的次数。3.随机数产生办法关于随机数产生办法,可以采用操作系统提供的函数,如Linux或UNI系统提供函数and()和rand(),分别进行初始化和产生随机数。例如:srand();语句可以初始化一个随机数;a0=10*rand()3277*19+1;a1=10*a()/3767*a0;语句可以用来产生a0与a1中的随机数。环境说明此实验采用的是Wi下Cod:bloks 1.05编译器编程。此wrd实验文档中采用ntepad+的语法高亮。4.程序设计说明4.1.全局变量const it xn = 0; /序列个数constint a= maxn+;/数组大小cnstint maxmax/10;

3、 /最大页数 intmax;/指令序列int agemx;/页地址流t ie; 内存能容纳的页数olnmaxp; /该页是否在内存里,提高效率intpinmxp; /现在在内存里的页其中in数组是为了方便直接判断该页是否在内存里,而不用遍历内存里所有页来判断。fat用来记录缺页次数。4.2.随机指令序列的产生按照实验要求的写了,但是由于没有考虑细节,开始时出了点问题。(1)当=31时,我们顺序执行m+1会产生第32页的页地址,从而使页地址没能按要求限制在0, 31之间。解决方法:采用循环模加来避免超出范围。(2)但是这样之后有可能出现模的问题。所以我索性将等于0的模数都赋值为10.最后的程序如

4、下。void pouc_inst() in m,n; ntum= 0; whe(um #inde #incude me.h#inlud sting.usingnamespace st;const int xn 320; 序列个数cs int ax mxn +2;ons nt axp =/1; 最大页数tistmx;/指令序列n gemax;/页地址流int sze; 内存能容纳的页数boinaxp; /该页是否在内存里,提高效率nt pixp;/现在在内存里的页vodwelome() rint(*n); prtf(* Byschne O012- * pintf(* 班级:092131 班内序号

5、:30 *n pritf(*nvoid inputhnt() prtf(n1-rete n instrutio sunce 2-set memory pag numbr(4 to 32)n printf(3-sove y IFalgrithm 4-olebyR algothmn printf(-slve y OPT lgoritm ei prin(*Pleaseinputourche: /通过随机数产生一个指令序列,共3条指令*/vo rduce_nst() n m, n; intnum =0; while(maxn) m rnd()% mxn; intnu+ (m+)%mx; f(num =

6、 maxn) rak; m= (m+2) % max; i( = ) = 10; n= ran()%m; instnu+ = (n+)%maxn; if(nu = xn) brea; n=(n+2) % maxn; = maxn-n; f(m= ) m = 160; m = a() % +n; nstnum+ = m; *将指令序列变换成为页地址流*/void turn_pge_dress() for(it i=0; iman; +) ge insti/1;voi FIO_slve() memse(, fale,(in); in aultn = ;/缺页率 intptr, i;/预调页填满空间

7、 ptr = 0; /下一个要放的位置 for(i=; maxn ptrsize; i+) if(!npai) ntr+ = page; ipagei= rue; fault_+; /继续执行剩下的指令 r 0;/队列里最先进来的位置,即下一个要被替换的位置 fo(; iman; if(!ipae) nptr = fals; ingi = tru; pitr = pai; faul_n+; pt = (tr+1) % size; intf(By IFO lgorithm,thefaltpagenberis: dn,faut_n); pif( thehit rto is :2ln, (1-(fa

8、ult_n0.0)/30);vod LRU_lve() t ltumaxp; /last_msint t 1; /模拟时间 int at_n = 0; st(ltu, 0, sizeof(lt); memt(in, false,sizeof(in); memset(pi, 1,sizeof(pi); in mi, pr,i, j; or(i=0;xn; f(!npagei) 寻找lru mn00000; pt=0; fr(j0;jsize; j+) if(luj min) mi= tu; ptr =j; /替换或写入 if(pinptr != 1) inpnr =als; npage = te

9、; it = agei; faltn+; ltptr = ti+; ele/已经在内存里则只需更改最近使用时间 for(j=0; jsize; +) if(pinj = agei) lj = ti+; bek; prnf(nBy LRU goithm,he pagenumers: %dn,fau_n); rintf( the htrtio : %.lfn, (1-(faul_n0.0)/3.0);o OP_sle() nt ntumaxp;/net_time_se n fl_n 0; in i, j; memet(in,false,si(i); mmset(ntu, -1,sizeof(ntu

10、); /预调页填满 n ptr = ; or(i=;max & faul_nsiz; if(!inpage) ipaei = true; piptr =pagi; ul_n+; pr+; /初始化nu数组 pr =; or(j=i;axn & ptr3;j+) (nuagj = -1) ntupage ; tr+; int max; or(;mxn; i+) (!ipagi) ax 0;pr = 0; for(j=0; max) ax = ntuinj; ptr = j; ininptr =false; inpagei= tru; pintr = paei; aultn+; ntupagei=

11、-1; o(j=+;mxn; if(page =pagei) ntpagij; break; printf(nBy OPTalgrith, the ulpae nmbe is: %d,fault_n); printf( thet ratio i : %.2lfn,(1-(aut_n+0.0)/320.0);it man() srand(tme(NULL); welcoe(); int hoice; whl() ipu_hnt(); can(%, &hoice); prntf(); if(hc = ) if(BYE-BYE!!n brea; if(chice = 1) rodu_nst(); t

12、urnpagearss(); printf(ewpag adrss sequence isst O!!n); ese if(hce = 2) prinf(Pleaeinpttsize of memoranumer: canf(%d, &ize); lsi(chice =3) FIFO_sle(); eleif(choe = 4) LRU_slv(); lse f(chice = 5) OPT_lv(); else rnf(INPUTERO! n retun ;6.运行结果及分析6.1.运行(以某两次运行结果为例,列表如下:)内存101520232FIFO285222373590LRU852448513991OPT221214066842722620167188LR271265204118T01831792667随着页数的增多,除了IFO对某些序列会有eldys anomay(详见62)外,大部分情况和LRU算法、T算法都是缺页率减小。OP是理想情况,效率是最高的。当然当不缺页时,所有的算法缺页次数都是把所有页调进去的次数。LU算法有时候和FIO算法的效率差别并不大。甚至有时候它还比IF低一些的。6.2.eldys anomaly如下,我稍微改了下输入,手动输入课本上的样例,编程见证了Belady异常现。这是只有O算法才有的异常。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1