操作系统 实验9:页面置换算法模拟设计 (FIFO)(LRU)(OPT)(LFR)(NUR) |
您所在的位置:网站首页 › 请求分页实验报告的目的 › 操作系统 实验9:页面置换算法模拟设计 (FIFO)(LRU)(OPT)(LFR)(NUR) |
目录 前言 实验要求 1. 通过随机数产生一个指令序列,共320条指令。指令的地址按下述原则生成: 2. 将指令序列映射为页地址流 代码部分 前置部分 指令序列生成 核心部分 思路 首先是关于为什么要使用c++而不使用c语言: 模块设计思路: 基类 子类(算法类): 主函数: 实现 基类 主函数 运行时图: 下篇链接 前言存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。 本实验的目的是通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的技术特点,掌握请求页式存储管理的页面置换算法。 实现:先进先出的算法(FIFO)、最近最久未使用算法(LRU)、最近最少访问页面算法(LFR)、最近未用过算法(NUR)、最佳页面置换算法(OPT) 实验要求 1. 通过随机数产生一个指令序列,共320条指令。指令的地址按下述原则生成:①50%的指令是顺序执行的; ②50%的指令是均匀分布在前地址部分; ③50%的指令是均匀分布在后地址部分。 具体的实施方法是: ①在 [0,319] 的指令之间随即选取一起点m; ②顺序执行一条指令,即执行地址为m+1的指令; ③在前地址[0,m+1]中随机选取一条指令并执行,该指令的地址为m′; ④顺序执行一条指令,其地址为 m′+ 1; ⑤在后地址[m′+ 2,319]中同上操作; ⑥重复上述步骤①-⑤,直到执行 n 次指令。 2. 将指令序列映射为页地址流设:①页面大小为1k; ②用户内存容量为4页到32页; ③用户虚存容量为32k。 在用户虚存中,按每k存放10条指令排在虚存地址,即320条指令在虚存中的存放方式为: 第0条-第9条指令为第0页(对应虚存地址为[0,9]); 第10条-第19条指令为第一页(对应虚存地址为[10,19]); … … 第310条~第319条指令为第31页(对应虚地址为[310,319])。 按以上方式,用户指令可组成32页。 代码部分 前置部分使用到的头文件和宏定义,后续部分直接使用(因为接近底层,没有使用vector等stl容器) #include #include #include #include #include #define INC_NUM 320 #define RUN_NUM 320 #define _1K_ 10 指令序列生成这部分没有难度,按照要求来就行,值得注意的是,可以设置随机数种子为进程ip或者当前时间,否则每一次随机数将相同。重载了'[]' ' |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |