首页 操作系统实验报告_页面置换算法模拟

操作系统实验报告_页面置换算法模拟

举报
开通vip

操作系统实验报告_页面置换算法模拟操作系统实验报告_页面置换算法模拟 学 生 实 验 报 告 姓名: 年级专业班级 学号 成绩 验证 设计 实验3 请求分页系统的页面 实验类型 课程名称 实验名称 操作系统 综合 创新 置换算法 【实验目的、要求】 1.通过编程实现请求分页存储管理系统的Optimal、FIFO、LRU调度算法,使学生掌握计算机虚拟存储管理中有关缺页处理方法等内容,巩固有关虚拟存储管理的知识。2.了解Windows2000/XP中内存管理机制,掌握页式虚拟存储技术。3.理解内存分配原理,特别是以页面为单位的虚拟内存分配方法。...

操作系统实验报告_页面置换算法模拟
操作系统实验 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 _页面置换算法模拟 学 生 实 验 报 告 姓名: 年级专业班级 学号 成绩 验证 设计 实验3 请求分页系统的页面 实验类型 课程名称 实验名称 操作系统 综合 创新 置换算法 【实验目的、要求】 1.通过编程实现请求分页存储管理系统的Optimal、FIFO、LRU调度算法,使学生掌握计算机虚拟存储管理中有关缺页处理方法等内容,巩固有关虚拟存储管理的知识。2.了解Windows2000/XP中内存管理机制,掌握页式虚拟存储技术。3.理解内存分配原理,特别是以页面为单位的虚拟内存分配方法。 【实验内容】 在Windows XP或Windows 2000等操作系统环境下,使用VC、VB、Delphi、java或C等编程语言,实现请求分页存储管理系统的Optimal、FIFO、LRU调度算法。 【实验环境】(含主要设计设备、器材、软件等) 计算机 C语言编程软件 【实验步骤、过程】(含原理图、流程图、关键代码,或实验过程中的记录、数据等) 1.启动计算机,运行C语言编程软件。 2.分析理解页面的几种基本算法的特点和原理,在纸上画出原理图。 3.编辑源程序,关键代码如下。 (1)先进先出页面置换算法。 #include void main() { int i,n,t,k=3,a[100]; scanf("%d",&n); for(i=0;i void main() { int i,j,,n,a[100]; int c1,c2,c3; // 标志该页面再次被访问时在引用串中的位置 int p,k,r; printf("请输入页面数:\n"); scanf("%d",&n); printf("请输入页面号引用串:\n"); for(i=0;ic2)&&(c1>c3)||(c1==c3)||(c1==c2)) //当前a[0]页面未来最长时间不再访问! { t=a[j]; a[j]=a[0]; a[0]=t; //把当前访问页面和最佳页面交换~ printf("%d %d %d\n",a[0],a[1],a[2]); } if((c2>c1)&&(c2>c3)||(c2==c3)) //当前a[1]页面未来最长时间不再访问! { t=a[j]; a[j]=a[1]; a[1]=t; printf("%d %d %d\n",a[0],a[1],a[2]); } if((c3>c1)&&(c3>c2)) //当前a[2]页面未来最长时间不再访问! { t=a[j]; a[j]=a[2]; a[2]=t; printf("%d %d %d\n",a[0],a[1],a[2]); //输出置换后页框中的物理块组成~ } } else printf("%d %d %d\n",a[0],a[1],a[2]); } } (3)LRU算法。 #include void main() { int i,j,,n,a[100]; int c1,c2,c3; //标志最近最久不使用的页面在页面引用串中的先后位置~ int p,k,r; scanf("%d",&n); //输入页面数 for(i=0;i=0;p--) if(a[0]==a[p]) { c1=p; //用c1记录和内存中a[0]的相同向前最近的页面在引用串中的位置! break; } else c1=-1; //,若未找到相同的页面,则把c1赋值为:-1~ for(k=j-1;k>=0;k--) if(a[1]==a[k]) { c2=k; break; } else c2=-1; for(r=j-1;r>=0;r--) if(a[2]==a[r]) { //用c1记录和内存中a[1]的相同向前最近的页面在引用串中的位置! c3=r; break; } else c3=-1; //若未找到相同的页面,则把c1赋值为:-1~ if((c1 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf 】(对实验结果进行相应分析,或总结实验的心得体会,并提出实验的改进意见) 对实验结果进行相应分析,或总结实验的心得体会,并提出实验的改进意见 1.程序的执行结果如下: (1)先进先出页面置换算法 (2)最佳页面置换法 (3)最近最久未使用置换算法 2.以上三个程序通过数组和排序语句实现页面的三种基本调度算法。 (1)先进先出算法事先设定标志k=3,页面每发生一次置换k值增加1。通过取k对3的余数来确定被置换的内存中的页面,当被访问页面存在于内存时,不置换,而直接输出原内存中的3个页面。 (2)最佳置换算法通过设定c1,c2,c3来记录当前内存中的页面被下一次访问的位置(时间),通过对c1,c2,c3的大小比较确定内存中需要被置换的页面。三者中值最大的对应的内存页面选择被置换。即实现了未来最长时间未访问的机制,即最佳置换算法。 (3)最近最久未使用置换算法的原理跟最佳置换算法类似。初始设定变量c1,c2,c3记录当前内存中的以前的最近一次未被访问的位置(时间),比较三者的大小来确定需要被置换的页面。三者中至最小的对应的内存页面选择被置换。即实现了最近最久未使用的机制,即最近最久未使用置换算法。 3.上述三个程序分别能较好的模拟页面的基本调度算法,实现页面的置换,保证进程的正常执行。但也分别存在一些不足。 (1)当内存中三个页面有部分相同时,程序不能很好的实现调度。即c1,c2,c3中有部分变量值相等,源程序可能不能准确的找到调度顺序,如图所示。(LRU算法) 改进的方法为在c1,c2,c3间的大小比较判断语句中增加关系语句的默认处理办法,当三者间有部分相同时,默认选择按从前到后的顺序执行。比如当c2=c3的时候选择页面a[2]进行置换。当c1=c2=c3时则选择页面a[0]进行置换。也就相当于无法运用LRU算法调用的时候折衷采取先进先出置换算法,以实现页面的合理调度,提高页面的利用效率。 指导教师签名: 20 年 月 日 【备注】
本文档为【操作系统实验报告_页面置换算法模拟】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_682974
暂无简介~
格式:doc
大小:46KB
软件:Word
页数:10
分类:理学
上传时间:2017-09-18
浏览量:144