操作系统实验2.doc

操作系统实验2.doc

ID:53564629

大小:43.50 KB

页数:9页

时间:2020-04-04

操作系统实验2.doc_第1页
操作系统实验2.doc_第2页
操作系统实验2.doc_第3页
操作系统实验2.doc_第4页
操作系统实验2.doc_第5页
资源描述:

《操作系统实验2.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、北方工业大学实验报告书学生姓名学号班级2011—2012学年第一学期2021-9-8第9页/共9页北方工业大学《计算机操作系统》实验报告实验名称存储管理实验序号实验二实验日期2012-12-17实验人高雪一、实验目的和要求请求页式存储管理是一种常用的虚拟存储管理技术。本实验目的是通过请求页式存储管理中页面置换算法的模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。二、相关背景知识虚拟存储技术:所谓虚拟存储,就是把内存与外存有机的结合起来使用,从而得到一个容量很大的“内存”,这就称之为虚拟存储。页面置换算法:如果内存空间已被装满而又要装入新页时,必须

2、按某种算法将内存中的一些页淘汰出去,以便于调入新页,这个工作就是页面置换。这个选择淘汰页的方法称为页面置换算法。如最佳值换算法,先进先出,LRU,简单的Clock算法等等。随机数产生:Linux或UNIX系统提供函数srand()和rand(),分别进行初始化和产生随机数。三、实验内容1:通过随机数产生一个指令序列,共320条指令。指令的地址按下述原则生成:50%的指令是顺序执行的;25%的指令是均匀分布在前地址部分;25%的指令是均匀分布在后地址部分;具体的实施方法是:在[0,319]的指令地址之间随机选取一起点m;顺序执行一条指令,即执行地址为m+1的指令;在前地

3、址[0,m+1]中随机选取一条指令并执行,该指令的地址为m’;顺序执行一条指令,其地址为m’+1;在后地址[m’+2,319]中随机选取一条指令并执行;重复上述步骤1~5,直到执行320次指令。2021-9-8第9页/共9页北方工业大学2:将指令序列变换成页地址流,设页面大小为1K;用户内存容量为4页到32页;用户虚存容量为32K。在用户虚存中,按每K存放10条指令排列虚存地址,即320条指令在虚存中存放的方式为:第0条至第9条指令为第0页(对应虚存地址为[0,9]);第10条至第19条指令为第1页(对应虚存地址为[10,19]);……第310条至第319条指令为第3

4、1页(对应虚存地址为[310,319]);按以上方式,用户指令可以组成32页。3:计算并输出下述各种算法在不同内存容量下的命中率。先进先出页面淘汰算法(FIFO)最近最久未使用页面淘汰法(LRU)命中率=1-页面失效次数/页地址流长度在本实验中,页地址流长度为320,页面失效次数为每次访问相应指令时,该指令对应的页不在内存的次数。四、关键数据结构与函数的说明voidFIFO(int*);//FIFO页面算法的函数voidLRU(int*);//LRU页面算法的函数数组zhiling[320]是用来存放320条指令的voidmain()用来调度FIFOLRU函数,以及给

5、320条指令初始化,并且给执行过的指令改变数值作为标记2021-9-8第9页/共9页北方工业大学五、编译与执行过程截图六、实验结果与分析七、调试时遇到的问题及解决方法(提供BUG截屏)2021-9-8第9页/共9页北方工业大学八、调试后的程序源代码#include#include#include#includevoidFIFO(int*);//FIFOvoidLRU(int*);//LRUvoidmain(){srand((unsigned)time(0));intzhiling[320],n;

6、inti,j,q=319,p,e,f,g;memset(zhiling,-1,sizeof(int)*320);p=0;i=320;while(i){again:do{p=rand();}while(p<0

7、

8、p>318

9、

10、p%2==1

11、

12、zhiling[p]!=-1

13、

14、p==1);if(p==0)gotoagain;p++;g=0;for(j=0;j

15、

16、e>=p

17、

18、e%2==1

19、

20、zhiling[e]!=-1);e++;do{20

21、21-9-8第9页/共9页北方工业大学f=rand();}while(f<=e

22、

23、f>319);zhiling[p-1]=p;zhiling[p]=e-1;zhiling[e-1]=e;zhiling[e]=f;g=0;for(j=0;j<320;j++)if(zhiling[j]==-1)g++;i=g;}for(i=0;i<320;i++)printf("%d",zhiling[i]);do{do{printf("算法:1:FIFO2:LRU3:exit");scanf("%d",&p);}while(p!=1&&p!=2&&p!

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。