操作系统 实验9:页面置换算法模拟设计 (FIFO)(LRU)(OPT)(LFR)(NUR)

您所在的位置:网站首页 请求分页实验报告的目的 操作系统 实验9:页面置换算法模拟设计 (FIFO)(LRU)(OPT)(LFR)(NUR)

操作系统 实验9:页面置换算法模拟设计 (FIFO)(LRU)(OPT)(LFR)(NUR)

2024-07-17 04:24| 来源: 网络整理| 查看: 265

目录

前言

实验要求

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