版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验六 虚拟存储管理一 实验目的存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。本实验的目的是通过请求页式管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。二 实验内容通过计算不同算法的命中率比较算法的优劣。同时也考虑了用户内存容量对命中率的影响。页面失效次数为每次访问相应指令时,该指令所对应的页不在内存中的次数。计算并输出下属算法在不同内存容量下的命中率。l 先进先出的算法(FIFO);l 最近最少使用算法(LRU);开 始生成地址流输入算法号S1S4形成地址页号用户内存空间msize=2Msize32 OPT()FIF
2、O()LRU()LFU()Msize加1S=? 是否用其他算法继续结 束NY1234YN提示出错,重新输入三 系统框图四页面置换算法程序代码#include<stdio.h> #include<string.h> #include<iostream.h>const int MAXSIZE=1000;/定义页访问流的最大长度const int MAXQUEUE=3;/定义可用页面数typedef struct node int loaded; int hit; page;page pagesMAXQUEUE; /定义页面表 int queueMAXSIZE;
3、int quantity;/初始化结构函数 void initial() int i; for(i=0;i<MAXQUEUE;i+) pagesi.loaded=-1; pagesi.hit=0; for(i=0;i<MAXSIZE;i+) queuei=-1; quantity=0;/初始化页面函数 void init() int i; for(i=0;i<MAXQUEUE;i+) pagesi.loaded=-1; pagesi.hit=0; /读入页面流void readData() FILE *fp; char fname20;int i;cout<<&q
4、uot;请输入页面流文件名:" cin>>fname;if(fp=fopen(fname,"r")=NULL) cout<<"错误,文件打不开,请检查文件名" else while(!feof(fp) fscanf(fp,"%d ",&queuequantity);quantity+; cout<<"读入的页访问流:" for(i=0;i<quantity;i+)cout<<queuei<<" " /FIFO调度
5、算法void FIFO() int i,j,p,flag;int absence=0;p=0;cout<<endl<<"-"<<endl; cout<<"先进先出调度算法(FIFO)页面调出流:" for(i=0;i<quantity;i+) flag=0; for(j=0;j<MAXQUEUE;j+) if(pagesj.loaded=queuei) flag=1; if(flag=0) if(absence>=MAXQUEUE) cout<<pagesp.loaded<
6、;<" " pagesp.loaded=queuei; p=(p+1)%MAXQUEUE; absence+; absence-=MAXQUEUE; cout<<endl<<"总缺页数:"<<absence+MAXQUEUE<<endl; /最近最少使用调度算法(LRU)void LRU() int absence=0; int i,j; int flag;for(i=0;i<MAXQUEUE;i+) pagesi.loaded=queuei; cout<<endl<<&
7、quot;-"<<endl; cout<<"最近最少使用调度算法(LRU)页面调出流:"for(i=MAXQUEUE;i<quantity;i+) flag=-1; for(j=0;j<MAXQUEUE;j+) if(queuei=pagesj.loaded) flag=j; /CAUTION pages0是队列头if(flag=-1) /缺页处理cout<<pages0.loaded<<" " for(j=0;j<MAXQUEUE-1;j+) pagesj=pagesj+1;
8、pagesMAXQUEUE-1.loaded=queuei;absence+; else /页面已载入 pagesquantity=pagesflag;for(j=flag;j<MAXQUEUE-1;j+) pagesj=pagesj+1; pagesMAXQUEUE-1=pagesquantity;cout<<endl<<"总缺页数:"<<absence+MAXQUEUE<<endl; /显示 void version() cout<<" /*虚拟存储管理器的页面调度*/"<<
9、;endl;cout<<endl; void main() version(); initial();readData();FIFO(); init();LRU(); init(); init();五 操作说明运行程序前先新建一个页面流文件文件(例如a.txt),在文件中存储的是一系列页号(页号用整数表示,用空格作为分隔符),用来模拟程序执行时的页访问次序。六 结果分析1. 对于如下的页面访问序列; 1,2,3,4,1,2,5,1,2,3,4,5 当内存页面数分别为2、3、4、5时,使用FIFO和LRU置换算法模拟页面调度,记录并分析实验结果(分析内存页面的具体调度情况并计算命中率)。2.思考以下问题,并使用实验数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度畜牧养殖废弃物资源化利用合作协议4篇
- 二零二五年版美术品艺术品投资管理协议4篇
- 2025年度美容美发行业高级技师劳动合同规范文本4篇
- 二零二五年度工业危险废物处理承包合同4篇
- 2025年度个人快递包裹快速配送合同二4篇
- 二零二五年度存量房买卖合同违约责任及赔偿协议4篇
- 个性化商业空间装修协议模板2024版一
- 2025年度金融科技100%股权收购与管理合同3篇
- 2025年害虫防治与设施设备维护合同4篇
- 2025年销售人员薪资制度与绩效考核合同范本2篇
- DB33T 2570-2023 营商环境无感监测规范 指标体系
- 上海市2024年中考英语试题及答案
- 房屋市政工程生产安全重大事故隐患判定标准(2024版)宣传海报
- 垃圾车驾驶员聘用合同
- 2025年道路运输企业客运驾驶员安全教育培训计划
- 南京工业大学浦江学院《线性代数(理工)》2022-2023学年第一学期期末试卷
- 2024版机床维护保养服务合同3篇
- 《论拒不执行判决、裁定罪“执行能力”之认定》
- 工程融资分红合同范例
- 2024国家安全员资格考试题库加解析答案
- 通信工程建设标准强制性条文汇编(2023版)-定额质监中心
评论
0/150
提交评论