实验七 存储管理---------常用页面置换算法模拟实验 实验目的 通过模拟实现请求页式存储管理的几种基本页面置换算法,了解虚拟存储技术的特点,掌握虚拟存储请求页式存储管理中几种基本页面置换算法的基本思想和实现过程,并比较它们的效率
实验内容 设计一个虚拟存储区和内存工作区,并使用下述算法计算访问命中率
1、最佳淘汰算法(OPT) 2、先进先出的算法(FIFO) 3、最近最久未使用算法(LRU) 4、最不经常使用算法(LFU) 5、最近未使用算法(NUR) 命中率=1-页面失效次数/页地址流长度 实验准备 本实验的程序设计基本上按照实验内容进行
即首先用 srand( )和 rand( )函数定义和产生指令序列,然后将指令序列变换成相应的页地址流,并针对不同的算法计算出相应的命中率
(1)通过随机数产生一个指令序列,共 320 条指令
指令的地址按下述原则生成: A:50%的指令是顺序执行的 B:25%的指令是均匀分布在前地址部分 C:25%的指令是均匀分布在后地址部分 具体的实施方法是: A:在[0,319]的指令地址之间随机选取一起点 m B:顺序执行一条指令,即执行地址为m+1 的指令 C:在前地址[0,m+1]中随机选取一条指令并执行,该指令的地址为m’ D:顺序执行一条指令,其地址为m’+1 E:在后地址[m’+2,319]中随机选取一条指令并执行 F:重复步骤 A-E,直到 320 次指令 (2)将指令序列变换为页地址流 设:页面大小为1K; 用户内存容量 4 页到 32 页; 用户虚存容量为32K
在用户虚存中,按每 K 存放 10 条指令排列虚存地址,即 320 条指令在虚存中的存放方式为: 第 0 条-第 9 条指令为第 0 页(对应虚存地址为[0,9]) 第 10 条-第 19 条指令为第 1 页(对应虚存地址为[10,19]) „„„„„„„