2022年实验四操作系统存储管理实验报告 .pdf
《2022年实验四操作系统存储管理实验报告 .pdf》由会员分享,可在线阅读,更多相关《2022年实验四操作系统存储管理实验报告 .pdf(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验四操作系统存储管理实验报告一、实验目的存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。本实验的目的是通过请求页式管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。二、实验内容(1)通过计算不同算法的命中率比较算法的优劣。同时也考虑了用户内存容量对命中率的影响。页面失效次数为每次访问相应指令时,该指令所对应的页不在内存中的次数。在本实验中,假定页面大小为1k,用户虚存容量为32k,用户内存容量为4页到 32 页。(2)produce_addstream通过随机数产生一个指令序列,共320 条指令。A、指令的地址按下述原则
2、生成: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 次指令页地址流长度页面失效次数命中率1精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 16
3、 页C、将指令序列变换称为页地址流在用户虚存中,按每k 存放 10 条指令排列虚存地址,即320 条指令在虚存中的存放方式为:第 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)
4、为选择内容精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 16 页三、系统框图五运行结果首先打印出产生的指令信息,第一列为指令序列号,第二列为指令地址,第三列为指令所在的虚页号开始生成地址流输入算法号S 1S4 形成地址页号用户内存空间msize=2 Msize32 OPT() FIFO() LRU() LFU() Msize 加 1 S=? 是否用其他算法继续结 束N Y 1 2 3 4 Y N 提示出错,重新输入精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 16 页选择 F
5、IFO 调度算法,并且内存从3 也开始逐渐增加到32 页,打印出缺页次数缺页率,命中率精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 16 页选择 LRU 调度算法, 并且内存从3 也开始逐渐增加到32 页,打印出缺页次数缺页率,命中率精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 16 页选择 OPT 调度算法, 并且内存从3 也开始逐渐增加到32 页,打印出缺页次数缺页率,命中率精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6
6、页,共 16 页六 实验程序产生指令流文件produce_addstream.h #ifndef PRODUCE_ADDSTREAM_H #define PRODUCE_ADDSTREAM_H #include #include #include #include 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 16 页#include using namespace std; #define random(x) (rand()%x) #define MAX_LENGTH 320 struct produce int num; /指令序
7、号int zhiling; /指令地址int virtualpage; /指令虚页号produce *next; ; struct produce*creatlist(); void insert(struct produce *first,struct produce *s); /插入一个节点(尾插法)void print(struct produce *first); /打印函数int max(vectorvector ,int ); struct produce*creatlist() srand(int)time(0); struct produce*first=new produce
8、; 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; 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=yanzhengi*4+1; s1-virtualpage=s1-zhiling; insert(fi
9、rst,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; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 16 页s3=new produce; s3-num=i*4+3; s3-zhiling=yanzhengi*4+3; s3-virtualpage=s3-zhiling; insert(fir
10、st,s3); /*/ /* 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;
11、s2-virtualpage=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) struct produce *r=first; struct produce *p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年实验四操作系统存储管理实验报告 2022 实验 操作系统 存储 管理 报告
限制150内