


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验六: 请求分页存储管理一实验目的深入理解请求页式存储管理的基本概念和实现方法,重点认识其中的 地址变换、缺页中断、置换算法等实现思想。二实验属性该实验为综合性、设计性实验。 三实验仪器设备及器材普通 PC386 以上微机四实验要求本实验要求 2 学时完成。本实验要求完成如下任务:( 1) 建立相关的数据结构:页表、页表寄存器、存储块表等; ( 2) 指定分配给进程的内存物理块数,设定进程的页面访问顺序;(3)设计页面置换算法,可以选择OPT FIFO、LRU等,并计算相应的缺页率,以比较它们的优劣;( 4) 编写 地址转换函数 ,实现通过查找页表完成逻辑地址到物理地址的转换;若发生缺页则选
2、择某种置换算法( OPT FIFO、LRU等)完 成页面的交换;( 5 ) 将整个过程可视化显示出来。实验前应复习实验中所涉及的理论知识和算法,针对实验要求完成基 本代码编写并完成预习报告、 实验中认真调试所编代码并进行必要的测试、 记录并分析实验结果。实验后认真书写符合规范格式的实验报告(参见附 录A),并要求用正规的实验报告纸和封面装订整齐,按时上交。三、设计过程3.1 算法原理分析OPT算法是未来最远出现,当当前内存中没有正要访冋的页面时, 置换出当前页面中在未来的访问页中最远出现的页面或再也不出现的 页面。FIFO 算法是先进先出,当当前内存中没有正要访冋的页面时,置换 出最先进来的页
3、面。LRU算法是最近最久未使用,当当前内存中没有正要访问的页面时, 置换出在当前页面中最近最久没有使用的页面。3.2 数据定义int length,num_page,count,seed; /length 记 录 访 问 串 的 长 度 ,num_page页面数,count记录缺页次数int result2030,order30,a10; /result记录结果 ,order 存储访问串 ,a 存储当前页面中的值in t pos1,flag1,flag2,flag3; pos1位置变量,flagl 等为标志变量char result130; /记录缺页数组void opt() /最佳void
4、fifo() /先进先出bool search(i nt n) /查找当前内存中是否已存在该页3.3流程图与运行截图图6.1 FIFO ()函数流程图替换内存中将来不岀现或离当前最图22 OPT算法流程图157845 412直1机&随B内5!£八-?- 3 丄度产串- 匸番问数 剽的控访个 馬早随面页6 圣5 邸入入生入示四、小结本次课程设计目的是通过请求页式管理中页面置换算法模拟设 计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算 法。要求设计随机页面产生程序,并说明随机的性能和其性能可能对 算法的影响,对随机性要有一定的参数控制能力;计算并输出FIFO 及LR
5、U算法在不同内存容量下的命中率。由于上学期做过页面置换的实验, 内容包括先进先出算法 ( FIFO)、 最近最久未使用页面置换算法(LRU)和理想淘汰算法(OPT , 3种算法思想简单明确,选好数据结构,思路清晰便基本没问题了。所以相 对来说,这次操作系统的课程设计容易许多,只是在之前实验基础上, 要附加设计随机页面产生程序,对随机性要有一定的参数控制能力。 对于随机页面产生程序,我们之前没做过,在网上查阅资料,使用了 库函数 srand ()和 rand (),实现了简单的随机页面产生程序,功能 基本完成。我们知识所限,没有使用漂亮可视化界面编程实现功能, 用简单的 C 语言编程实现的。不管
6、怎么样,最终还是实现的本次课程 设计要求的。五、源程序 #include<iostream> #include<stdlib.h> using namespace std; int length,num_page,count,seed; int result2030,order30,a10; int pos1,flag1,flag2,flag3; char result130;void init() memset(a,-1,sizeof(a); int i;cout<<" 输入访问串的长度 :" cin>>length;cou
7、t<<" 输入种子数控制产生的随机值: " cin>>seed; srand(seed); cout<<" 产生的随机访问串 :" for(i=0;i<length;i+) orderi=rand()%10;cout<<orderi<<" "<<endl;cout<<" 输入页面的个数: " cin>>num_page;void print() int i,j;cout<<" 表示缺页 &qu
8、ot;<<endl;for( j=0;j<length;j+)printf("%2d ",orderj); cout<<endl;for( i=0;i<num_page;i+) for( j=0;j<length;j+) if(resultij=-1) printf(" ");elseprintf("%2d ",resultij); cout<<endl;for( j=0;j<length;j+) printf("%2c ",result1j); cout
9、<<endl; cout<<" 缺页率: "<<count<<"/"<<length; printf("=%.1lf",(count*1.0)/(length*1.0)*100); cout<<"%"<<endl;bool search(int n) /查找当期内存是否已存在 int i;for(i=0;i<num_page;i+) if(ai=n) return true; return false;void opt() /
10、 最佳 int i,pos10,flag10; while(1) flag1=flag2=0; for(i=0;i<length;i+) if(!search(orderi) count+;result1i='*' if(anum_page-1!=-1) / 表示当前页面已满要淘汰一 个 memset(pos,-1,sizeof(pos); memset(flag,0,sizeof(flag); int j,k;for( j=i;j<length;j+)/ 找出当前页中的值在将来访问串中对应的最近位置 for( k=0;k<num_page;k+) if(or
11、derj=ak&&flagk=0) posk=j; flagk=1; cout<<endl;int max=-10,max_pos;for( k=0;k<num_page;k+)/找出位置最远的那个值 if(posk=-1)/ 未出现则跳出,替换该值 max_pos=k; break; else if(max<posk) max=posk; max_pos=k;amax_pos=orderi;else / 还有空页 for(int j=0;j<num_page;j+) if(aj=-1) aj=orderi; break;else result1i
12、=' 'for(int j=0;j<num_page;j+) resultji=aj;print();if(flag1=0&&flag2=0) break;void fifo() / 先进先出 int i,thisn=0;while(1) count=0; flag1=flag2=0;for(i=pos1;i<length;i+) if(!search(orderi) count+; result1i='*'if(anum_page-1!=-1) / 表示当前页面已满要淘汰一 个 athisn= orderi; thisn+; if(
13、thisn>=num_page) thisn=0;else for(int j=0;j<num_page;j+)if(aj=-1) aj=orderi; break; else result1i=' 'for(int j=0;j<num_page;j+) resultji=aj; print(); if(flag1=0&&flag2=0) break;void main() / 主函数int m;printf(" 1.OPT.n");printf(" 2.FIFO.n");printf(" 0.退出 .n");printf(" 选择所要操作 :"); scanf("%d",&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国加氢站项目创业计划书
- 中国口腔植入材料项目创业计划书
- 中国人造血浆项目创业计划书
- 中国橘、橙项目创业计划书
- 中国光驱配件项目创业计划书
- 2025照明设备采购与销售合同
- 中国高尔夫绿化项目创业计划书
- 中国5G传输网络切片项目创业计划书
- 2025年部编版语文六年级下册第二次月考试题及答案(共4套)
- 内存安全与优化-第1篇-洞察阐释
- GB/T 14598.2-2025量度继电器和保护装置第1部分:通用要求
- 2025年安全月安全有奖答题考试题库(附答案)
- 浙江省宁波市2025年八年级下学期期末数学试题及答案及答案
- 北京历史文化街区风貌保护与更新设计导则
- 国能集团工会工作报告
- 2025年商业管理与商业模式创新能力考核题及答案
- T/CBMCA 012-2020室内环境清洁消毒服务规范
- 2024年青海省囊谦县事业单位公开招聘辅警考试题带答案分析
- 广东省深圳市南山区2023-2024学年七年级下学期期末语文试题(含答案)
- 工程力学(山东科技大学)知到智慧树期末考试答案题库2025年山东科技大学
- 补缴社保员工协议书
评论
0/150
提交评论