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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

实验五页面调度算法模拟 实验报告.docx

1、实验五页面调度算法模拟 实验报告计算机操作系统实验报告实验五:页面调度算法模拟学校:院系:班级:姓名:学号:指导教师:实验五:页面调度算法模拟一、实验题目页面调度算法模拟二、实验学时2学时三、指导老师四、实验日期2018年12月10日星期一五、实验目的(1)熟悉操作系统页面调度算法(2)编写程序模拟先进先出、LRU等页面调度算法,体会页面调度算法原理六、实验原理6。1页面的含义分页存储管理将一个进程的逻辑地址空间分成若干大小相等的片,称为页面或页。6.2 页面置换算法的含义在进程运行过程中,若其所要访问的页面不在内存而需把它们调入内存,但内存已无空闲空间时,为了保证该进程能正常运行,系统必须从

2、内存中调出一页程序或数据,送磁盘的对换区中。但应将哪个页面调出,须根据一定的算法来确定。通常,把选择换出页面的算法称为页面置换算法(Page_Replacement Algorithms)。6.3 置换算法一个好的页面置换算法,应具有较低的页面更换频率。从理论上讲,应将那些以后不再会访问的页面换出,或将那些在较长时间内不会再访问的页面调出。6。3.1最佳置换算法(Optimal)它是由Belady于1966年提出的一种理论上的算法.其所选择的被淘汰页面,将是以后永不使用的或许是在最长(未来)时间内不再被访问的页面。采用最佳置换算法,通常可保证获得最低的缺页率。但由于人目前还无法预知一个进程在内

3、存的若干个页面中,哪一个页面是未来最长时间内不再被访问的,因而该算法是无法实现的,便可以利用此算法来评价其它算法。6.3。2先进先出(FIFO)页面置换算法这是最早出现的置换算法。该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。该算法实现简单只需把一个进程已调入内存的页面,按先后次序链接成一个队列,并设置一个指针,称为替换指针,使它总是指向最老的页面。6。3.3 LRU置换算法LRU置换算法是选择最近最久未使用的页面予以淘汰。 七、实验步骤及结果7.1 验证最佳置换算法7。1.1 实验截图7。1。2 实验分析in727710440804b1777744b222228

4、b31111b4000out727.2 验证先进先出(FIFO)页面置换算法7。2。1 实验截图7.2.2 实验分析in103380812056b11111222b2000055b333336b48888out1037.3 验证LRU置换算法7。3.1 实验截图7。3。2 实验分析in968773712670b1999933366b266661110b38888222b4777777out96831八、报告书写人附录一 最佳置换算法(Optimal)include include stdlib.hinclude time.hdefine N 12 /*随机数列的长度/#define B 4 /

5、内存页面数*/int IsInBuf(int buf,int list,int num) int i,j=1; int max_p; int max_d=0; for(i=0;iB;i+) if(bufi=listnum) /当x在buf中,返回-1 return -1; else if(bufi=-1) /当x不在buf中,且bufi为空,则把x填入buf,并返回-1 bufi=listnum; return 2; for(i=0;iB;i+) for(j=num+1;jN;j+) if(bufi=listj) if(max_dj) max_d=j;/bufi在list中的最近距离 max_

6、p=i;/listj在buf的位置 break; if(j=N) /如果buf满,并且bufi不在list的后半部分,返回位置i return i; return max_p;/返回距离最远的buf的位置int main() int listN;/=4,3,2,1,4,3,5,4,3,2,1,5; int bufB,i,fN,j,m,bufuse=0,tmp; int change=0; /置换次数 int interrupt=0; /中断次数 int successfully=0; /访问成功次数 srand((int)time(NULL); for(i=0;iB;i+) bufi=fi=1

7、; printf(”nn); printf(The Optimal List:); for(i=0;iN;i+) listi=(int) rand()10; printf(%2d”,listi); printf(”n”); printf(nthe lost in Optimal:n); for(i=0;iN;i+) j=IsInBuf(buf,list,i); if(j=-1) successfully+; for(m=0;m=B;m+) printf( ”); /*成功的打印*/ printf( ind successfullyn,listi);/成功的打印/ else if(j=-2) b

8、ufuse+; interrupt+; printf(newbuf=); for(m=0;mbufuse;m+) printf(”d ,bufm); /*缺页中断次数的打印*/ for(m;mB;m+) printf(” ”); /*缺页中断的打印/ printf(” ind interruptn,listi);/缺页中断的打印/ else tmp=bufj; bufj=listi; change+; printf(”newbuf=); for(m=0;mbufuse;m+) printf(”d ”,bufm); /缺页置换的打印*/ for(m;mB;m+) printf( );/*缺页置换

9、的打印*/ printf( in%d change doutn,listi,tmp);/缺页置换的打印*/ printf(nn); printf(”interrupt=dn,interrupt); printf(”change=%dn,change); printf(successfully=%dn”,successfully); return 0;附录二 先进先出(FIFO)页面置换算法include stdio.hinclude #define N 12 /随机数列的长度/define B 4 /内存页面数*/int IsInBuf(int buf,int x) int i; for(i=

10、0;iB;i+) if(bufi=x) /当x在buf中,返回其位置/ return -1; else if(bufi=-1) /*当x不在buf中,且bufi为空,则把x填入buf,并返回其位置/ bufi=x; return -2; return 0;int main() int listN;/=4,3,2,1,4,3,5,4,3,2,1,5; int bufB,i,fN,j,m,bufuse=0,tmp; int old=0; int change=0; /置换次数 int interrupt=0; /中断次数 int successfully=0; /访问成功次数 srand(int)

11、time(NULL)); for(i=0;iB;i+) bufi=fi=-1; printf(nn”); printf(”The FIFO List:); for(i=0;iN;i+) listi=(int) rand()10; printf(%2d”,listi); printf(n); printf(”nthe lost in FIFO:n”); for(i=0;iN;i+) j=IsInBuf(buf,listi); if(j=-1) successfully+; for(m=0;m=B;m+) printf( ); /*成功的打印/ printf( in-%d successfullyn,listi);/*成功的打印*/ else if(j=-2) bufuse+; interrupt+; printf(newbuf=”); for(m=0;mbufuse;m+) printf(”%d ”,bufm); /缺页中断

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

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