实验2 存储管理.doc
上传人:sy****28 上传时间:2024-09-12 格式:DOC 页数:3 大小:28KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

实验2 存储管理.doc

实验2存储管理.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验2存储管理1.实验目的存储管理的主要功能之一是合理地分配空间,请求页式管理式一种常用的虚拟存储管理技术。本实验的目的是通过请求页式管理中页面置换算法的模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。2.实验内容(1)通过随机数产生一个指令序列,共320条指令,指令地址按下述原则生成=1\*GB3①50%的指令是顺序执行;=2\*GB3②25%的指令是均匀分布在前地址部分;=3\*GB3③25%的指令是均匀分布在后地址部分;具体的实施方法是=1\*GB3①在[0,319]的指令地址之间随机选取一起点m;=2\*GB3②顺序执行一条指令,即执行地址为m+1的指令;=3\*GB3③在前地址[0,m+1]中随机选取一条指令并执行,该指令的地址是m’;=4\*GB3④顺序执行一条指令,其地址为m’+1;=5\*GB3⑤在后地址[m’+2,319]中随机选取一条指令并执行;=6\*GB3⑥重复上述步骤=1\*GB3①~=5\*GB3⑤,直到执行320次指令。(2)将指令序列变为页地址流设:=1\*GB3①页面大小为1K;=2\*GB3②用户页面内存容量为4页到32页;=3\*GB3③用户虚存容量为32K。在用户虚存中,按每K存放10条指令排列虚存地址,即320条指令在虚存中的存放方式为:第0条~第9条指令为(对应虚存地址为[0,9]);第10条~第19条指令为(对应虚存地址为[10,19]);…………第310条~第319条指令为(对应虚存地址为[310,319]);按以上方式,用户指令可组成32页。(3)计算并输出下述各种算法在不同内存容量下的命中率=1\*GB3①First-In-First-out(FIFO)PageReplacement=2\*GB3②Least-Recently-Used(LRU)PageReplacement=3\*GB3③OptimalPageReplacement其中=3\*GB3③和=4\*GB3④为选择内容在本实验中,页地址流长度为320,页面失效次数为每次访问相应指令时,该指令所对应的页不在内存的次数。3.随机数的产生方法关于随机数产生的办法,Linux或者Unix系统提供函数srand()和rand(),分别进行初始化和产生随机数。例如srand(getpid()*10);/*用进程号作为“种子”初始化随机数序列*/语句可初始化一个随机数;Rf=(X*rand()/(RAND_MAX+1.0));语句可用来产生[0,(X-1)]中的随机数。Ri=(int)(X*rand()/(RAND_MAX+1.0));语句可用来产生[0,(X-1)]中的随机整数。4.数据结构定义范例本实验模拟虚拟存储区和内存工作区,其相关可定义如下:(1)页面结构/*thatisthepagetableofprocesses*/typedefstruct{intpn,pfn,counter,time;}pl_type;pl_typepl[total_vp];/*页面结构数组*/其中pn为pagenumber,pfn为framenumber,counter为一个周期内访问该页面的次数,time为访问时间。(2)页面控制结构structpfc_struct{intpn,pfn;structpfc_struct*next;};typedefstructpfc_structpfc_type;pfc_typepfc[total_pf];pfc_type*freepf_head,*busypf_head,*busypf_tail;其中pfc[total_pf]定义用户进程页面控制结构数组,*freepf_head为空页面头指针,*busypf_head为忙页面头指针,*busypf_tail为忙页面尾指针。(3)变量定义inta[total_instruction];/*指令流数据组*/intpage[total_instruction];/*每条指令所属页号*/intoffset[total_instruction];/*每条指令的页内偏移值*/inttotal_pf;/*用户进程的内存页面数,根据题意是4<=total_pf<=32*/intdisaffect;/*页面失效次数*/说明:这些数据结构和变量定义仅是一种参考。