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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(操作系统课程设计页面置换算法C语言07010复习进程.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

操作系统课程设计页面置换算法C语言07010复习进程.docx

1、操作系统课程设计页面置换算法C语言07010复习进程操作系统课程设计-页面 置 换 算 法 C 语 言07010页面置换算法的演示1.题目要求:设计一个虚拟存储区和内存工作区,编程序演示下述算法的具体实现过程,并计算访问命中率:要求设计主界面以灵活选择某算法,且以下算法都要实现1) 最佳置换算法(OPT):将以后永不使用的或许是在最长(未来)时间内不再被访问的页面换出。2) 先进先出算法(FIFO):淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。3) 最近最久未使用算法(LRU):淘汰最近最久未被使用的页面。4) 最不经常使用算法(LFU)2.实验目的:1、 用C语言编写O

2、PT、FIFO、LRU,LFU四种置换算法2、 熟悉内存分页管理策略。3、 了解页面置换的算法。4、 掌握一般常用的调度算法。5、 根据方案使算法得以模拟实现。6、 锻炼知识的运用能力和实践能力。3.相关知识:1虚拟存储器的引入:局部性原理:程序在执行时在一较短时间内仅限于某个部分;相应的,它所 访问的存储空间也局限于某个区域,它主要表现在以下两个方面:时间局限性 和空间局限性。2 虚拟存储器的定义:虚拟存储器是只具有请求调入功能和置换功能,能从逻辑上对内存容量进行 扩充的一种存储器系统。3虚拟存储器的实现方式:分页请求系统,它是在分页系统的基础上,增加了请求调页功能、页面置换 功能所形成的页

3、面形式虚拟存储系统。请求分段系统,它是在分段系统的基础上,增加了请求调段及分段置换功能 后,所形成的段式虚拟存储系统。4.页面分配:平均分配算法,是将系统中所有可供分配的物理块,平均分配给各个进 程。按比例分配算法,根据进程的大小按比例分配物理块。考虑优先的分配算法,把内存中可供分配的所有物理块分成两部分:一部分 按比例地分配给各进程;另一部分则根据个进程的优先权,适当的增加其相应 份额后,分配给各进程。5.页面置换算法:常用的页面置换算法有 OPT、FIFO、LRU、Clock、LFU、PBA等。4.设计思想:选择置换算法,先输入所有页面号,为系统分配物理块,依次进行置换:OPT基本思想:是

4、用一维数组pagepSIZE存储页面号序列,memerymSIZE是存储装入 物理块中的页面。数组nextmSIZE记录物理块中对应页面的最后访问时间。 每当发生缺页时,就从物理块中找出最后访问时间最大的页面,调出该页,换 入所缺的页面。【特别声明】若物理块中的页面都不再使用,则每次都置换物理块中第一个位置的页 面。FIFO基本思想:是用队列存储内存中的页面,队列的特点是先进先出,与该算法是一致 的,所以每当发生缺页时,就从队头删除一页,而从队尾加入缺页。或者借助 辅助数组timemSIZE记录物理块中对应页面的进入时间,每次需要置换时换 出进入时间最小的页面。LRU基本思想:是用一维数组pa

5、gepSIZE存储页面号序列,memerymSIZE是存储装入 物理块中的页面。数组flag10标记页面的访问时间。每当使用页面时,刷新访 问时间。发生缺页时,就从物理块中页面标记最小的一页,调出该页,换入所 缺的页面。五.流程图:如下页所示6.源代码:如下页所示【使用C语言】#i nclude #i nclude /*全局变量*/ int mSIZE; /* 物理块数 */int pSIZE; /*页面号引用串个数*/static int memery10=0; /* 物理块中的页号 */static int page100=0; /* 页面号引用串 */static int temp100

6、10=0; /* 辅助数组 */*置换算法函数*/void FIFO();void LRU();void OPT();/*辅助函数*/void print(un sig ned int t);void desig nBy();void dow nl oad();void mDelay(unsigned int Delay);/*主函数*/void mai n()int i,k,code;system(color 0A);desig nBy();printf( |请按任意键进行初始化操作 I n);n);printf( 1 printf( );getch();system(cls);system

7、(color OB);printf(请输入物理块的个数(M=10):);sca nf(%d,&mSIZE);printf(请输入页面号引用串的个数(P=100):);sca nf(%d,&pSIZE);puts(请依次输入页面号引用串(连续输入,无需隔开):);for(i=0;ivpSIZE;i+)sca nf(%1d,&pagei);dow nl oad();system(cls);system(color 0E);doputs(输入的页面号引用串为:);for(k=0;k=(pSIZE-1)/20;k+)for(i=20*k;(ipSIZE )&(i);getch();system(cls

8、);while (code!=4);getch();/*载入数据*/void dow nl oad()int i;system(color 0D);printf( i 1 n);printf( |正在载入数据,请稍候! I n);prin tf( 1 1 n);prin tf(Loadi ng.n);prin tf( O);for(i=0;i51;i+)prin tf(b);for(i=0;i);printf(nFinish.n载入成功,按任意键进入置换算法选择界面: );getch();/*设置延迟*/void mDelay (un sig ned int Delay)un sig ned

9、int i;for(;Delay0;Delay-)for(i=0;i | n);printf(” | 1n);void print(un sig ned int t)int i,j,k,l;int flag;for(k=0;kv=(pSIZE-1)/20;k+)for(i=20*k;(ipSIZE )&(i20*(k+1);i+)if(i+1)%20=0)|(i+1)%20)&(i=pSIZE-1)prin tf(%dn,pagei);elseprin tf(%d ,pagei);for(j=0;jmSIZE;j+)for(i=20*k;(imSIZE+20*k)&(i=j)prin tf(

10、|%d|,tempij);elseprin tf( | |); for(i=mSIZE+20*k;(ipSIZE)&(i20*(k+1);i+) for(flag=0,l=0;lmSIZE;l+) if(tempil=tempi-1l) flag+;if(flag=mSIZE)/*页面在物理块中*/printf();elseprin tf( |%d|,tempij);/*每行显示20个*/if(i%20=0)con ti nue;prin tf(n);printf( n);printf(缺页次数:%dtt,t+mSIZE);printf(缺页率:%d/%dn,t+mSIZE,pSIZE);pr

11、intf(置换次数:%dtt,t);printf(访问命中率:%d%n,(pSIZE-(t+mSIZE)*100/pSIZE);printf( n);/*计算过程延迟*/void compute。int i;printf(正在进行相关计算,请稍候);for(i=1;i20;i+)mDelay(15);if(i%4=0)prin tf(bbbbbb bbbbbb);elseprintf( O);for(i=0;i+30;pri ntf(b);for(i=0;i+30;pri ntf(” );for(i=0;i+30;pri ntf(b);/*先进先出页面置换算法*/void FIFO()int

12、memery10=0;int time10=0; /*记录进入物理块的时间*/int i,j,k,m;int max=0; /*记录换出页*/int count=0; /*记录置换次数*/*前mSIZE个数直接放入*/for(i=0;imSIZE;i+)memeryi=pagei;timei=i;for(j=0;jmSIZE;j+) tempij=memeryj;for(i=mSIZE;ipSIZE;i+)/*判断新页面号是否在物理块中*/for(j=0,k=0;jvmSIZE;j+)if(memeryj!=pagei) k+;if(k=mSIZE) /*如果不在物理块中*/coun t+;/

13、*计算换出页*/max=time0time1?0:1; for(m=2;mmSIZE;m+) if(timemtimemax) max=m;memerymax=pagei;timemax=i; /*记录该页进入物理块的时间*/for(j=0;jmSIZE;j+) tempij=memeryj;elsefor(j=0;jmSIZE;j+) tempij=memeryj;compute();prin t(co un t);/*最近最久未使用置换算法*/void LRU()int memery10=0;int flag10=0; /*记录页面的访问时间*/int i,j,k,m;int max=0;

14、 /*记录换出页*/int count=0; /*记录置换次数*/*前mSIZE个数直接放入*/for(i=0;imSIZE;i+)memeryi=pagei;flagi=i;for(j=0;jmSIZE;j+) tempij=memeryj;for(i=mSIZE;ipSIZE;i+)/*判断新页面号是否在物理块中*/for(j=0,k=0;jvmSIZE;j+)if(memeryj!=pagei)k+;elseflagj=i; /*刷新该页的访问时间*/if(k=mSIZE) /*如果不在物理块中*/coun t+;/*计算换出页*/max=flag0vflag1?0:1;for(m=2;

15、mmSIZE;m+) if(flagmvflagmax) max=m; memerymax=pagei;flagmax=i; /*记录该页的访问时间*/for(j=0;jvmSIZE;j+)tempij=memeryj;elsefor(j=0;jmSIZE;j+)tempij=memeryj;compute(); prin t(co un t);/*最佳置换算法*/void OPT()int memery10=0;int next10=0; /*记录下一次访问时间*/int i,j,k,l,m;int max; /*记录换出页*/int count=0; /*记录置换次数*/*前mSIZE个数

16、直接放入*/for(i=0;imSIZE;i+)memeryi=pagei;for(j=0;jmSIZE;j+)tempij=memeryj;for(i=mSIZE;ipSIZE;i+)/*判断新页面号是否在物理块中*/for(j=0,k=0;jmSIZE;j+)if(memeryj!=pagei) k+;if(k=mSIZE) /*如果不在物理块中*/coun t+;/*得到物理快中各页下一次访问时间*/for(m=0;mmSIZE;m+)for(l=i+1;l=next1?0:1; for(m=2;mn extmax) max=m;/*下一次访问时间都为pSIZE,则置换物理块中第一个*/

17、 memerymax=pagei;for(j=0;jmSIZE;j+) tempij=memeryj;else for(j=0;jmSIZE;j+) tempij=memeryj;compute。;prin t(co un t);7.运行结果:Uisual G*-+【运行环境 Visual C+ 6.0】课题二:页面置按算法学号;8B19B1117堆名:邢磊请按任意犍讲行初始化操作-1.按任意键进行初始化:慣髄入物理块aHcri: 1清输入丙面号弓1用单的f数g=:L的” 20 险柴汰玩人页面耳即用載连绫输入J无需隔开X701203042303212017012.载入数据:揪入超瑾块国八邀51

18、阳:3;20无需隔开;0129304230321201761正在载入数据,请稍候Loading* 3.进入置换算法选择界面:0 17 0 1输入的页面号引用串为:7012U304*请选择页面置换算法;餐 *1先进先出 氛罐近最久未使用CLKU *3最佳 乳退出请选择操作:J4.运算中延迟操作:5.三种算法演示结果:織入的页面号引月串九r请选择页面置换算法* *17 0 17 012 0317: !(71i :71 1 勺1 11 1 1| 1 1 H 110:! :0! !Q:1 1 1H H 1N 11 1:!1! :li*1.元进先出IFIF3*3最fi餐脅 杆 甘科 善豪務请选择操作:1

19、】21 ? 0 1!7!17!7!1!:0::Q12 !:2:1!输入的页面号引用串为=7翼鱷囂 黯爲黑hB 1 2 8 3 B 4 2 a 0请选择页面置换算法;!?! !?:!?!121121:4:!4 !141 101il:!1 1!1!:i !0!0 i:0!:Q:!0:i q i i q i i i i X i:2 :12 1!7!2011 20 4 2缺頁率:12/20 访|口)命中窣I 40X勺页面号引用串为:61203642393请选择页面置换算法: *6.请选S撫作【3】7 0 1 2 0 3;7; :7; :7: :2 E :21I ! :0: :01 101 10:! :

20、 : : :1: !1! !3!1011 2;2:6:0:7:10:ii:iSitSiM选择置按算i; .缺贝率:9/20 命同命中率.55x岀 *炼开开幵* w1 先迅光出WIF3 2. 3 最佳 WPT) 4.退出界面: 课题三=页面萱换算法 学号 i 091001117姓名;邢磊 谢谢使用页面置换算法演示器t 正版橙权8.参考文献:1.严蔚敏,吴伟民数据结构清华大学出版社,2005.112.谭浩强.C语言程序设计.清华大学出版社,2005.113.于帆,赵妮.程序设计基础(C语言版).清华大学出版社,2006.114.汤小丹,梁红兵,哲凤屏,汤子瀛.计算机操作系统.西安电子科技大学出版社,2007.5

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

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