




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验三、FIFO LRU算法模拟一、 实验目的一个作业有多个进程,处理机只分配固定的主存块供该作业执行。往往块数小于进程页数,当请求调页程序调进一个块时,可能碰到主存中并没有空闲块的情况,此时就产生了在主存中淘汰哪个块的情况。本实验要求模拟FIFO算法/二、 实验原理 此算法的实质是,总是选择在主存中停留最长时间的页面淘汰。理由是:最早调入主存的页,其不再被访问的可能性最大。三、 实验环境1、 pc2、 vc+四、程序源代码:#define MAXSIZE 20#include <iostream.h>void main()int label=0; /标记此页是否已经装入内存int
2、 input=0; /用于输入作业号int worknum=0; /记录作业个数int storesize=0; /系统分配的存储块数int interrupt=0; /中断次数int quenceMAXSIZE; /队列,FIFO算法的主要数据结构int workstepMAXSIZE; /用于记录作业走向/*初始化*/for(int i=0;i<MAXSIZE;i+)quencei=0;workstepi=0;cout<<"请输入存储区块数:"cin>>storesize;cout<<"请输入作业走向(输入0结束):n
3、"for(int j=0;j<MAXSIZE;j+)cout<<"页面号:"<<j+1<<” :”;cin>>input;workstepj=input;if(input=0)cout<<"输入结束!n"break;worknum+;if(workstep0=0)cout<<"未输入任何作业,系统将退出!n"return;cout<<"置换情况如下:n"for(int k=0;k<worknum;k+) lab
4、el=0;/*看队列中是否有相等的页号或空位置*/for(int l=0;l<storesize;l+)/*是否有相等的页号*/if(quencel=workstepk)cout<<"内存中有"<<workstepk<<"号页面,无须中断!n"label=1; /标记此页面已装入内存break;/*是否有空位置*/if(quencel=0)quencel=workstepk;cout<<"发生中断,但内存中有空闲区,"<<workstepk<<"号
5、页面直接调入!n"interrupt+;label=1; break;/*上述情况都不成立则调出对首,将调入页面插入对尾*/if(label=0) cout<<"发生中断,将"<<quence0<<"号页面调出,"<<workstepk<<"号装入!n" interrupt+; for(int m=0;m<storesize;m+) quencem=quencem+1; quencestoresize-1=workstepk;cout<<"
6、;作业"<<worknum<<"个,"<<"中断"<<interrupt<<"次,"<<"缺页率:"<<float(interrupt)/float(worknum)*100<<"%n"用高级语言模拟页面置换算法LRU,加深对LRU算法的认识。一、 实验原理最近最久未使用页面置换算法(LRU)当需要淘汰某一页时,选择在最近一段时间里最久没有被使用过的页淘汰。其基本原理为:如果某一个页面被访问
7、了,它很可能还要被访问;相反,如果它长时间不被访问,再最近未来是不大可能被访问的。LRU采用页号栈的实现方法。最近访问的页放在栈顶,较早访问的页往栈底移动。总是先淘汰处于栈底的页。#define MAXSIZE 20#include <iostream.h>void main()int input=0; /用于输入作业号int worknum=0; /输入的作业个数int storesize=0; /系统分配的存储区块数int interrupt=0; /缺页中断次数int stackMAXSIZE; /栈,LRU算法的主要数据结构int workstepMAXSIZE; /记录作
8、业走向/*初始化*/for(int i=0;i<MAXSIZE;i+)stacki=0;workstepi=0;cout<<"请输入存储区块数:"cin>>storesize;cout<<"请输入作业的页面走向(输入0结束):n"for(int j=0;j<MAXSIZE;j+)cout<<"页面号 "<<j+1<<” :”;cin>>input;workstepj=input;if(input=0)cout<<"输入
9、结束!n"break;worknum+;if(workstep0=0)cout<<"未输入任何作业,系统将退出!n"return;cout<<"置换情况如下:n"for(int k=0;k<worknum;k+)/*在栈中找相等的页号或空位置*/for(int l=0;l<storesize;l+)/*是否有相等的页号*/if(stackl=workstepk)cout<<"内存中有"<<workstepk<<"号页面,无须中断!n"
10、 goto step1;/*找栈中是否有空位置*/if(stackl=0)stackl=workstepk;cout<<"发生中断,但内存中有空闲区,"<<workstepk<<"号页面直接调入!n"interrupt+;goto step1;/*上述情况都不成立则调出栈顶,将调入页面插入栈顶*/cout<<"发生中断,将"<<stack0<<"号页面调出,"<<workstepk<<"号装入!n"interrupt+;/*新掉入的页面放栈顶*/step1:for(int m=0;m<storesize;m+)stackm=stackm+1;stackstoresize-1=workstepk;cout<<"作业"<<worknum<<
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45468-2025微束分析岩石微孔隙聚焦离子束-扫描电镜三维成像分析方法
- 生态保护工程生态环境监测考核试卷
- 游乐设施施工中的法律法规遵守考核试卷
- 珠宝首饰生产与质量管理考核试卷
- 碳酸饮料品质保证体系考核试卷
- 渔业机械设备研发考核试卷
- 托儿所服务的专业素养与培训考核试卷
- 核能发电站退役与拆解技术考核试卷
- 纺织品市场营销与消费者行为考核试卷
- 内蒙古大学创业学院《能力进阶英语I》2023-2024学年第二学期期末试卷
- 工程施工联系单范本完整版
- 施工单位现场动火证
- 回流炉操作作业指导书
- 棋牌兴趣小组申请表
- 分公司变更登记申请书(样表)
- 中国话剧史(本二·下)
- 执纪审查工作流程课件
- 普通诊所污水、污物、粪便处理方案及周边环境情况说明
- 四川省凉山州2022-2023学年八年级下学期期末道德与法治试题(含答案)
- 统编人教版高中政治(必修4)哲学与文化第7课第二框《正确认识中华传统文化》优质说课稿
- 2023年新高考数学(新高考Ⅰ卷)真题评析及2024备考策略
评论
0/150
提交评论