
实验 3 存储管理
实验日期:
绿色文字不用抄
【实验目的】
本实验的目的是通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的
技术特点,掌握请求页式存储管理的页面置换算法。
【实验内容】
设计一个虚拟存储区和内存工作区,并使用下述算法计算访问命中率。
1)最佳淘汰算法(OPT)
2)先进先出的算法(FIFO)
3)最近最久未使用算法(LRU)
<程序设计>
Linux或UNIX系统提供函数strand()和rand(),分别进行初始化和产生随机数。
(不用写)例如:
srand (); 语句可初始化一个随机数;
a[0]=10*rand()/65535*319+1;
a[1]=10*rand()/65535*a[0];
语句可用来产生a[0]与a[1]中的随机数。
本实验的程序设计首先用 srand( )和 rand( )函数定义和产生指令序列,然后将指令序
列变换成相应的页地址流,并针对不同的算法计算出相应的命中率。具体过程为:
(1)通过随机数产生一个指令序列,共 320 条指令。指令的地址按下述原则生成:
①50%的指令是顺序执行的;
②50%的指令是均匀分布在前地址部分;
③50%的指令是均匀分布在后地址部分。
(不用写)具体的实施方法是:
①在 [0,319] 的指令之间随即选取一起点m;
②顺序执行一条指令,即执行地址为m+1 的指令;
③在前地址[0,m+1]中随机选取一条指令并执行,该指令的地址为m′;
④顺序执行一条指令,其地址为 m′+ 1;
⑤在后地址[m′+ 2,319]中随机选取一条指令并执行;
⑥重复上述步骤①-⑤,直到执行 320 次指令。
(2)将指令序列变换为页地址流
设:①页面大小为 1k;
②用户内存容量为 4 页到 32 页;
③用户虚存容量为 32k。
在用户虚存中,按每k存放 10 条指令排在虚存地址,即 320 条指令在虚存中的存放方