虚拟内存页面置换算法实验报告_第1页
虚拟内存页面置换算法实验报告_第2页
虚拟内存页面置换算法实验报告_第3页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软 件 学 院上机实验报告课程名称: 操作系统原理实验项目:虚拟内存页面置换算法实 验 室:地狱 018姓名 :死神 学 号:专业班级 : 实验时间: 2015/12 13实验成绩评阅教师实验目得及要求通过这次实验,加深对虚拟内存页面置换概念得理解 , 进一步掌握先进先出 FIF 、最佳置换 PI 与最近最久未使用 RU页面置换算法得实现方法。 结合 Lux 得内 层得分析方法查瞧内存得分配过程及 linu ke nel 得内存管理机制二、实验性质设计性三、实验学时4 学时四、实验环境实验环境、实验环境: C 与 +程序设计学习与实验系统2、知识准备 :()使用 Linu 得基本命令;(2)了

2、解 Li x v tat 、fre 、to 等命令查瞧 inu 系统得 内存分配情况;(3) 掌握虚拟内存页面置换算法 F O等基本算法理论。五、实验内容及步骤假设有个进程分别在 T1, , 时刻到达系统,它们需要得服务时间分别为 S1, ,S 。分别采用先来先服务 FCS 与短作业优先 SJF进程调度算法进行调度, 计算每个进程得完成时间、 周转时间与带权周转时间 , 并且统计 n 个进程得平均周转时间 与平均带权周转时间。步骤通过已知最小物理块数、页面个数、页面访问序列、及采用置换方式可以得出页面 置换得缺页次数与缺页率,及每次缺页时物理块中存储。输入得形式 ?in PagOrder M

3、xNumbr ;/ 页面序列t aeNm,LacNum=,BlockN ; 页面个数,缺页次数 , 最小 物理块数2、 输出得形式doub e LackPa Rte / 缺页率缺页个数每次缺页时物理块中存储 程序所能达到得功能模拟先进先出 FFO、最佳置换 OP与最近最久未使用 LR页面置换算法得工作过 程. 假设内存中分配给每个进程得最小物理块数为, 在进程运行过程中要访问得页面个 数为 n,页面访问序列为 1, ,n, 分别利用不同得页面置换算法调度进程得页面 访问序列,给出页面访问序列得置换过程, 计算每种算法缺页次数与缺页率。 测试数据 , 包括正确得输入及其输出结果与含有错误得输入及

4、其输出结果。程序中用到得所有抽象数据类型得定义、主程序得流程以及各程序模块之间得层次 (调用 ) 关系 .in Pag Orde MaxNum er ;/ 页面序列int geCo ntMax mer=0 ;/ 计算内存内数据离下一次出现得距离int P eNum,LackNu 0, cNum;/ 页面个数 , 缺页次数, 最小物理 块数dou La kP eRa e 0;bool nd ls ;六、实验数据及结果分析运行截图:图、 1图、 2图、 3七、实验总结这次试验 , 让我加深了对虚拟内存页面置换算法得理解, 进一步掌握先进先出 FIFO、 最佳置换 OI 与最近最久未使用 LU页面置

5、换算法得实现方法。熟悉 Linu 需要经过 大量得实验、改进与思考,在编写代码得过程中遇到了一些问题要积极面对并通过讨论 上网或者问老师解决。通过这次试验我了解了虚拟内存置换算法得一些知识 ,就是我对于 所学习得专业知识得到了更好得巩固与提升。附录源程序清单iclude i eamusing namespace ;#inxNumbr 100void OI(int PgeO d MaxNu ber ,i t PeContMx umber,? int Pag m,n LackNum,int lockNum , double Lac g ate,bol ound)nt mo leMaxNumber

6、;it s m 0;int i,j,k,;f r(i=0;iBlockNum;i +) /将内存填满modue = a e deri;? u ;? fr(j=0;ji;+)cumodulej” ;? co tendl;LackNu = o kNum;fo(i=BlockNu;iageNum;i+)fond=false;f r(j=0;lock; j + ) /遍历已存储 ,判断就是否缺页?次出现得距离? ?f (module = g Order ) fo nd=true;brea;?if (found=fase)/缺页 ,选择替换or(j; lock m;j+) /计算内存内数据离下 PgC

7、nt =;o(k=i; kPageNum;k+)i ( modulej ! Page derk)PageCuntj+;? else? r ak;n m x=PageC u t ;i t kn=0;for(j=0;jBlockNum;j +) /找出最大值if ( P eo j ax)? ? maxPag ountj ;? ?ki j;? ?modulekid=PgOrderi;?LackNum+ ;? for( 0; m3;+)? cout modle ” ”;? cot l;?L kP geRate( Lack u 1、 0)PageNum;cut "该算法缺页次数为: LackN

8、umed;l;*ber,ate,co t ”该算法缺页率为: LackP Rte*100 'en/* 先进先出置换算法vid FIFO(int Pag Ore M xN mber,int PCounaNu? int P Num,int LacNm,in BlockNum, doub e a kPage boo ound)int module xNumber ; it sum=0;int ,j,;for(=0;Blocum;+)/将内存填满modl PageOr e;? sum+;Pag Co nti= -i;? or(=0;< =; j+ ) cou << dulej

9、<< "; out<< enl;LackNu =BlockNum ;fo( i BlocN m;i P geu ;i+) fou =f lse;or( =0;j lockNu;j+ )/遍历已存储,判断就是否缺页 ? f(module j= geOrderi)? foud=true; brek;if (found=fal )/缺页,选择替换? i max agCount0 ; n ind= ;? fr(j=; BlockNum; +) /找出最大值 ?f(PgeContj >max)?mx=PgeCount ;?ki d=j;? fo(in k0;k&l

10、t;Blocu;+)/不就是最大值,则要 +1f(k!=kind)PagCuntk+;mouekd=PageOderi;Pageoutkid=;/ 替换之后已经查询得次数改为LackNum+;or(m=; m3;m+)co t m dulem” "?cou endl;?L kPage ate=( ackNm* 、 0) / ag Nu;cout"该算法缺页次数为:"LackNuenl;cu< <”该算法缺页率为:<<LackPgeRte0<< %'< <edl;* * * 最近最久未使用置换算法* * *vi

11、LRU(ntPaerdrMaxumb,int PeConaxNum r,? int ageNum,int LackN m,int Blkum,douleLcPaate,bool found)int moueM xNu er;insum 0;inti,j,m;for(=0;i<BockNum;i+)/将内存填满modue=PaeOdei;?s m+;ageCouti=3i;? or(j=0;j<=i; +)cout mdulej ” ”;?couendl;L ck um ocku;fo( = l m; <PageNu ;i+ )oud=ase;f( j=;j<BlockN

12、um;j+)/遍历已存储 ,判断就是否缺页?if(module j=PageO der i )?f und=tru; ag Cut =; /查询后,更改次数?or(i k=0;kBlocku; k+)?if (k!=j) geC u +;?b ;? if(oun=fals)缺页 ,选择替换?int ma=PgeCount;it kind=0;? for(j=0;jBckNm;j)/找出最大值? ? ( Pag ount j ax)? max=PgeCountj;?kid=;? for( int k=0 ; kBloc um; +)?f(k!=ind)PagCoun +;? ? m duleki

13、nd PageOrderi ;PageConti0;/ 替换之后未查询得次数改为 0? LackN +;for(m0;3;+)?cotmodulm” ";? c endl;? LackPag Rate=(Lack m*1 、 0)/Pa eN m;o "该算法缺页次数为 :LackNmed;cou "该算法缺页率为: ” LackPgeRate100 '%' dl; int main ()itPage erMaNumer ;/页面序列inPaeContxum 0 ;/计算内存内数据离下一次出现得距离in Pag um,ackNu 0,BlocNum

14、;/页面个数 ,缺页次数,最小 物理块数?ou e L ckPage ate=0;bool fo d=false;?int c ioce=,chioe2,choce3; nt i=;? ile(chioce1=)?cot"就是否重新输入数据; 0:不输入,:重新输入 :";c chio e2;if ( ho 2=)?cou " 请输入页面个数 : ”;?cin geNum;? out”请输入最小物理块数 "?inBloc Num;c ut”请输入页面序列: "endl; for(i=;aN; i+) ?cinPgeOrde;?cout请选择算法: 1-FIF, 2OI,3-LR: ”;?cin chioce3;i( chioc3=1)IO(ag er,P gCount, PaeNum,LackNum, BlkN m, LackPageR te, foun );ese( chio e3=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论