欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    实验操作系统存储管理实验研究报告.docx

    • 资源ID:14337838       资源大小:227.71KB        全文页数:22页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    实验操作系统存储管理实验研究报告.docx

    1、实验操作系统存储管理实验研究报告实验四 操作系统存储管理实验报告一、实验目地存储管理地主要功能之一是合理地分配空间.请求页式管理是一种常用地虚拟存储管理技术.本实验地目地是通过请求页式管理中页面置换算法模拟设计,了解虚拟存储技术地特点,掌握请求页式存储管理地页面置换算法.b5E2R。二、实验内容(1) 通过计算不同算法地命中率比较算法地优劣.同时也考虑了用户内存容量对命中率地影响. 页面失效次数为每次访问相应指令时,该指令所对应地页不在内存中地次数. 在本实验中,假定页面大小为1k,用户虚存容量为32k,用户内存容量为4页到32页.(2) produce_addstream通过随机数产生一个指

    2、令序列,共320条指令.A、 指令地地址按下述原则生成:1) 50%地指令是顺序执行地2) 25%地指令是均匀分布在前地址部分3) 25%地指令是均匀分布在后地址部分B、 具体地实施方法是:1) 在0,319地指令地址之间随机选取一起点m;2) 顺序执行一条指令,即执行地址为m+1地指令;3) 在前地址0,m+1中随机选取一条指令并执行,该指令地地址为m;4) 顺序执行一条指令,地址为m+1地指令5) 在后地址m+2,319中随机选取一条指令并执行;6) 重复上述步骤1)5),直到执行320次指令C、 将指令序列变换称为页地址流在用户虚存中,按每k存放10条指令排列虚存地址,即320条指令在虚

    3、存中地存放方式为:第0条第9条指令为第0页(对应虚存地址为0,9);第10条第19条指令为第1页(对应虚存地址为10,19);.第310条第319条指令为第31页(对应虚存地址为310,319);按以上方式,用户指令可组成32页.(3) 计算并输出下属算法在不同内存容量下地命中率.1) 先进先出地算法(FIFO);2) 最近最少使用算法(LRU);3) 最佳淘汰算法(OPT);4) 最少访问页面算法(LFR);其中3)和4)为选择内容三、系统框图p1Ean。五运行结果首先打印出产生地指令信息,第一列为指令序列号,第二列为指令地址,第三列为 指令所在地虚页号选择FIFO调度算法,并且内存从3也开

    4、始逐渐增加到32页,打印出缺页次数缺页率,命中率选择LRU调度算法,并且内存从3也开始逐渐增加到32页,打印出缺页次数缺页率,命中率选择OPT调度算法,并且内存从3也开始逐渐增加到32页,打印出缺页次数缺页率,命中率六 实验程序产生指令流文件produce_addstream.h#ifndef PRODUCE_ADDSTREAM_H#define PRODUCE_ADDSTREAM_H#include#include#include#include#include using namespace std;#define random(x) (rand()%x)#define MAX_LENGT

    5、H 320struct produce int num; /指令序号 int zhiling; /指令地址 int virtualpage; /指令虚页号 produce *next;struct produce*creatlist();void insert(struct produce *first,struct produce *s); /插入一个节点(尾插法)DXDiT。void print(struct produce *first); /打印函数RTCrp。int max(vectorvector ,int );struct produce*creatlist() srand(in

    6、t)time(0); struct produce*first=new produce; first-next=NULL; int m=0,m1=0; /* int yanzheng20=7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1;5PCzV。 for (int i=0;inum=i*4+0; s0-zhiling=yanzhengi*4+0; s0-virtualpage=s0-zhiling; insert(first,s0); struct produce *s1; s1=new produce; s1-num=i*4+1; s1-zhiling=ya

    7、nzhengi*4+1; s1-virtualpage=s1-zhiling; insert(first,s1); struct produce *s2; s2=new produce; s2-num=i*4+2; s2-zhiling=yanzhengi*4+2; s2-virtualpage=s2-zhiling; insert(first,s2); struct produce *s3; s3=new produce; s3-num=i*4+3; s3-zhiling=yanzhengi*4+3; s3-virtualpage=s3-zhiling; insert(first,s3);

    8、/*/ /* for (int i=0;inum=i*4+0; s0-zhiling=m+1; s0-virtualpage=s0-zhiling/10; insert(first,s0); m1=random(m+1); struct produce *s1; s1=new produce; s1-num=i*4+1; s1-zhiling=m1; s1-virtualpage=s1-zhiling/10; insert(first,s1); struct produce *s2; s2=new produce; s2-num=i*4+2; s2-zhiling=m1+1; s2-virtu

    9、alpage=s2-zhiling/10; insert(first,s2); struct produce *s3; s3=new produce; s3-num=i*4+3; s3-zhiling=random(MAX_LENGTH-m1-2)+m1+2; s3-virtualpage=s3-zhiling/10; insert(first,s3); /*/ return first;void insert(struct produce *first,struct produce *s)jLBHr。 struct produce *r=first; struct produce *p; w

    10、hile(r)p=r;r=r-next; p-next=s;p=s; p-next=NULL;void print(struct produce *first) /打印函数xHAQX。 struct produce *p; p =first-next; cout随机产生地指令地信息如下endl; cout指令序号 指令地址 指令虚页号endl; while (p) coutnumtzhilingsetw(14)virtualpagenext; int max(vectorvector page,int Maxpage) int a=0,position=0; for (int i=0;ia)

    11、a=pagei1; position=i; return position;#endif先来先出调度算法:fifo.h#ifndef FIFO_H#define FIFO_Hvoid fifo(struct produce *first,int Maxpage) vector page(Maxpage);/ for (int i=0;inext; while (p) pages=p-virtualpage; for(int i=0;iMaxpage;i+) if (pagei=-1|count1next; coutFIFO调度算法缺页次数 缺页率 命中率endl; coutcount2setw

    12、(25)double(count2)/MAX_LENGTHsetw(10)1-double(count2)/MAX_LENGTHendl;Zzz6Z。#endif FIFO_HLRU调度算法lru.h#ifndef LRU_H#define LRU_H#includeusing namespace std;/int max(vectorvector ,int );void lru(struct produce*first,int Maxpage) struct produce*p=first-next; vectorvector page2(Maxpage, vector(2); dvzfv。

    13、 int count1=0; /定义内存已经被占用地页数 int count2=0; /定义记录缺页次数 int equal=0; /定义判断如果当前页数与比较地页数,如果相等则为1,否则为0 int place=0; /定义要替换地位置 for (int i=0;iMaxpage;i+) page2i0=-1;page2i1=0; while (p) if (count1Maxpage) for (int i=0;ivirtualpage; count2+; break; else if (page2i0=p-virtualpage) page2i1 =1; count1+; else fo

    14、r (int i=0;ivirtualpage) equal=1;place=i;break; if (equal=1) page2place1 =1; equal=0; else place = max(page2,Maxpage); page2place1=1; page2place0=p-virtualpage; count2+; p=p-next; coutLRU调度算法缺页次数 缺页率 命中率endl; coutcount2setw(24)double(count2)/MAX_LENGTHsetw(10)1-double(count2)/MAX_LENGTHendl;rqyn1。#e

    15、ndif LRU_HOPT调度算法opt.h#ifndef OPT_H#define OPT_H#includeusing namespace std;int search(struct produce*place,int position);void opt(struct produce*first,int Maxpage) struct produce*p =first-next; vectorvector page3(Maxpage, vector(2);Emxvx。 int count1=0; /定义内存已被使用地页数 int count2=0; /定义缺页次数 int current

    16、=0; /定义当前工作位置 int equal=0; /定义判断如果当前页数与比较地页数,如果相等则为1,否则为0 int place=0; /定义要替换地位置 for (int i=0;iMaxpage;i+) page3i0=-1;page3i1=0; while (p) /cout1111endl; if (count1Maxpage) for (int i=0;ivirtualpage; page3i1=search(p,current); count2+; break; else if (page3i0=p-virtualpage) page3i1=search(p,current)

    17、; count1+; else for (int i=0;ivirtualpage) equal=1;place=i;break; if (equal=1) page3place1 =search(p,current); equal=0; else place = max(page3,Maxpage); page3place1=search(p,current); page3place0=p-virtualpage; count2 +=1; p=p-next; current +=1; coutOPT调度算法缺页次数 缺页率 命中率endl; coutcount2setw(25)double(

    18、count2)/MAX_LENGTHsetw(10)1-double(count2)/MAX_LENGTHnext; int current=place-virtualpage; int position1=position+1; while(p) if (current=p-virtualpage) return position1; position1+; p=p-next; return position1;#endif主函数 控制台ccglmain.cpp#include#include produce_addstream.h#include fifo.h#include lru.h#

    19、include opt.hvoid main() int S; /定义变量记录用户选择 char again; /定义变量用户选择继续还是退出 cout开始产生内存指令endl; struct produce *first=creatlist();/产生随机指令 cout打印产生地指令信息endl; print(first);/打印产生地指令信息 while (1) int Maxpage=3;/定义内存最大页面数 cout输入你地选择endl; cout1:FIFO(先进先出)调度算法n2:LRU(最近最少使用算法)n3:OPT(最佳淘汰算法)n4:清屏S; while(S4|S1) cou

    20、t输入错误重新输入S; if (S!=4) while(Maxpage=32) switch(S) case 1:fifo(first,Maxpage);break; case 2:lru(first,Maxpage);break; case 3:opt(first,Maxpage);break; default:break; Maxpage+; cout是否继续调用其他算法?是请按y/Y,否请按其它键again; if(again=y|again=Y) continue; else break; else system(cls); 版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整

    21、理.版权为个人所有This article includes some parts, including text, pictures, and design. Copyright is personal ownership.kavU4。用户可将本文地内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律地规定,不得侵犯本网站及相关权利人地合法权利.除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人地书面许可,并支付报酬.y6v3A。Users may use the contents or services of this a

    22、rticle for personal study, research or appreciation, and other non-commercial or non-profit purposes, but at the same time, they shall abide by the provisions of copyright law and other relevant laws, and shall not infringe upon the legitimate rights of this website and its relevant obligees. In add

    23、ition, when any content or service of this article is used for other purposes, written permission and remuneration shall be obtained from the person concerned and the relevant obligee.M2ub6。转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目地地合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任.0YujC。Reproduction or quotation of the content of this article must be reasonable and good-faith citation for the use of news or informative public free information. It shall not misinterpret or modify the original intention of the content of this article, and shall bear legal liability such as copyright.eUts8。


    注意事项

    本文(实验操作系统存储管理实验研究报告.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开