南昌大学操作系统实验报告

南昌大学操作系统实验报告

ID:1613636

大小:467.00 KB

页数:13页

时间:2017-11-12

南昌大学操作系统实验报告_第1页
南昌大学操作系统实验报告_第2页
南昌大学操作系统实验报告_第3页
南昌大学操作系统实验报告_第4页
南昌大学操作系统实验报告_第5页
资源描述:

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

1、南昌大学实验报告---(3)存储管理的模拟实现学生姓名:张晨欣学号:61004011132专业班级:电Ⅲ114班实验类型:□验证■综合□设计□创新实验日期:实验成绩:一、实验目的存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。本实验的目的是通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式管理的页面置换算法。二、实验内容1.过随机数产生一个指令序列,共320条指令。其地址按下述原则生成:①50%的指令是顺序执行的;②25%的指令是均匀分布在前地址部分;③25%的指令是均匀分布在后地址部分;

2、具体的实施方法是:A.在[0,319]的指令地址之间随机选区一起点M;B.顺序执行一条指令,即执行地址为M+1的指令;C.在前地址[0,M+1]中随机选取一条指令并执行,该指令的地址为M’;D.顺序执行一条指令,其地址为M’+1;E.在后地址[M’+2,319]中随机选取一条指令并执行;F.重复A—E,直到执行320次指令。2.指令序列变换成页地址流,设:(1)页面大小为1K;(2)用户内存容量为4页到32页;(3)用户虚存容量为32K。在用户虚存中,按每K存放10条指令排列虚存地址,即320条指令在虚存中的存放方式为:第0条—第9条指令为第0页(对应

3、虚存地址为[0,9]);第10条—第19条指令为第1页(对应虚存地址为[10,19]);。。。。。。。。。。。。。。。。。。。。。第310条—第319条指令为第31页(对应虚存地址为[310,319]);按以上方式,用户指令可组成32页。3.计算并输出下述各种算法在不同内存容量下的命中率。A.FIFO先进先出的算法B.LRU最近最少使用算法C.LFU最少访问页面算法三、实验要求1、需写出设计说明;2、设计实现代码及说明3、运行结果;一、主要实验步骤1、分析算法结构;2、画出算法的流程图,即设计说明;3、根据画出的流程图使用C语言编写相应的代码(代码过长

4、,放到最后);程序主要由main函数和以下几个函数组成:voidinitialization();初始化内存数据voidFIFO();FIFO先进先出算法;voidLRU();LRU最久未使用算法;voidLFU();LFU最近最久未使用算法;4、检查代码,将编出的代码编译、链接,验证其正确性。页面置换算法整体结构FIFO页面置换算法LRU页面置换算法LFU页面置换算法一、实验数据及处理结果二、实验体会或对改进实验的建议我做实验的时候,主要的难度是在几个特殊情况的处理上,如LRU内存中的页面都是之前没有调用过的,那怎么办,还有就是LFU中还没有达到“一

5、定时间间隔”的条件时怎么办?另外就是由于实验使用的是系统产生的随机数,所以难以验证实验结果的正确性。三、参考资料《计算机操作系统》《计算机操作系统实验指导书》《C程序设计》《C语言程序设计_现代方法》《计算机操作系统教程习题解答与实验指导(第二版)》一、实验代码#include#include#includeints,i;//s表示产生的随机数,i表示物理块数intm,n,h;//循环专用intk,g,f;//临时数据intsum;//缺页次数floatr;//rate命中率intp[320];//

6、page页数inta[320];//执行的指令intpb[32];//physicalblock用户内存容量(物理块)voidinitialization();voidFIFO();voidLRU();voidLFU();voidline();voidstart();voidend();voidmain(){start();srand((int)time(NULL));//以计算机当前时间作为随机数种子for(n=0;n<320;n+=3){s=rand()%320+0;//随机产生一条指令a[n]=s+1;//顺序执行一条指令s=rand()%(a[

7、n]+1);//执行前地址指令M`a[n+1]=s+1;s=rand()%(319-a[n+1])+(a[n+1]+1);a[n+2]=s;}for(n=0;n<320;n++)p[n]=a[n]/10;//得到指令相对的页数printf("物理块数tFIFOttLRUttLFU");line();for(i=4;i<=32;i++){printf("%2d:",i);FIFO();LRU();LFU();}end();}voidinitialization()//用户内存及相关数据初始化{for(n=0;n<32;n++)pb[n]

8、=-1;sum=0;r=0;k=0;g=-1;f=-1;}voidFIFO()//先进先出置换

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

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

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