页面置换算法实验(内含完整代码)
实验二 存储管理
一、 实验目的
通过模拟实现请求页式存储管理的几种基本页面置换算法,了解虚拟存储技术的特点,掌握虚拟存储请求页式存储管理中几种基本页面置换算法的基本思想和实现过程,并比较它们的效率。
二、 实验内容
基于一个虚拟存储区和内存工作区,设计下述算法并计算访问命中率。 1、最佳淘汰算法(OPT) 2、先进先出的算法(FIFO) 3、最近最久未使用算法(LRU) 4、简单时钟(钟表)算法(CLOCK) 命中率=1-页面失效次数/页地址流(序列)长度
三、 实验原理简述
UNIX中,为了提高内存利用率,提供了内外存进程对换机制;内存空间的分配和回收均以页为单位进行;一个进程只需将其一部分(段或页)调入内存便可运行;还支持请求调页的存储管理方式。
当进程在运行中需要访问某部分程序和数据时,发现其所在页面不在内存,就立即提出请求(向CPU发出缺中断),由系统将其所需页面调入内存。这种页面调入方式叫请求调页。 为实现请求调页,核心配置了四种数据结构:页表、页帧(框)号、访问位、修改位、有效位、保护位等。
当CPU接收到缺页中断信号,中断处理程序先保存现场,分析中断原因,转入缺页中断处理程序。该程序通过查找页表,得到该页所在外存的物理块号。如果此时内存未满,能容纳新页,则启动磁盘I/O将所缺之页调入内存,然后修改页表。如果内存已满,则须按某种置换算法从内存中选出一页准备换出,是否重新写盘由页表的修改位决定,然后将缺页调入,修改页表。利用修改后的页表,去形成所要访问数据的物理地址,再去访问内存数据。整个页面的调入过程对用户是透明的。
四、 算法描述
本实验的程序设计基本上按照实验内容进行。即使用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])
………………………………
第310条-第319条指令为第31页(对应虚存地址为[310,319])
按以上方式,用户指令可组成32页。
五、 算法实现与分析
1.常量及变量
#define total_instruction 320 //指令流长
#define total_vp 32 //虚页长
#define clear_period 50 //清周期
pfc_type pfc[total_vp],
pfc_type *freepf_head,
pfc_type *busypf_head,
pfc_type *busypf_tail;
int diseffect; //主存区页面控制结构数组 //主存区页面控制结构的空闲页面头指针 //主存区页面控制结构的忙页面头指针 //主存区页面控制结构的忙页面尾指针 //页错误计数器,初次把页面载入主存时也当做页错误 pl_type pl[total_vp]; //页面结构数组
2.数据结构
typedef struct //页面结构
{
int pn,
pfn, time; //页面序号 //页面所在内存区的帧号 //单位时间内访问次数 //上次访问的时间 counter,
}pl_type;
struct pfc_struct{ //页面控制结构,模拟内存中的页集
int pn,
};
pfn; //页面号 //内存区页面的帧号 //页面指针,用于维护内存缓冲区的链式结构 struct pfc_struct *next;
3.函数定义
int initialize(int);
int FIFO(int);
int LRU(int);
int OPT(int);
//初始化页面结构数组和页面控制结构数组 //先进先出算法 //最近最久未使用算法 //最佳置换算法 int CLOCK(int); //简单时钟(钟表)算法
六、 实验结果分析
实验数据结果:
------------随机产生指令流------------
257 258 37 38
226 227 109 110
184 185 164 165
166 167 59 60
310 311 135 136
148 149 105 106
240 241 121 122
124 125 50 51
315 316 308 309
312 313 299 300
315 316 284 285
284 285 272 273
318 319 216 217
310 311 266 267
318 319 127 128
129 130 52 53
53 54 48 49
130 131 62 63
159 160 107 108
206 207 130 131
167 168 123 124
272 273 23 24
123 124 32 33
303 304 163 164
206 207 134 135
269 270 123 124
177 178 124 125
244 245 54 55
68 69 5 6
165 166 144 145
270 271 75 76
88 89 65 66
69 70 31 32
56 57 40 41
189 190 73 74
92 93 50 51
92 93 77 78
88 89 62 63
125 126 71 72
255 256 125 126
289 290 97 98
235 236 163 164
240 241 29 30
158 159 80 81
280 281 263 264
312 313 58 59
226 227 78 79
121 122 108 109
202 203 32 33
42 43 18 19
153 154 67 68
292 293 63 64
264 265 54 55
269 270 40 41
296 297 295 296
318 319 269 270
278 279 214 215
222 223 186 187
220 221 30 31
268 269 33 34
226 227 117 118
211 212 170 171
313 314 77 78
248 249 34 35
232 233 25 26
82 83 59 60
61 62 23 24
168 169 24 25
259 260 239 240
318 319 275 276
283 284 74 75
244 245 144 145
244 245 86 87< …… 此处隐藏:10304字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高等教育]一年级家长课程教案
- [高等教育]封丘县人民医院深入推进纠正医药购销领
- [高等教育]2017年6月大学英语四级真题试卷及答案(
- [高等教育]2017年北京第二外国语学院文学院824中
- [高等教育]7 高中历史第7单元1861年俄国农奴制改
- [高等教育]【K12学习】4、实际测量-苏教版六年级
- [高等教育]药具培训试卷题库及部分参考答案
- [高等教育]本土电子元器件目录分销商如何赢得生意
- [高等教育]七年级岭南版美术教案
- [高等教育]书作文之书法活动通讯稿
- [高等教育]Endnote X 软件使用入门和用法总结(LS)
- [高等教育]嵌入式系统的现状及发展状况
- [高等教育]2012抗菌药物专项整治活动方案解读
- [高等教育]人教版新课本一年级数学下册期末试卷
- [高等教育]爱课程民法学观后感
- [高等教育]930机组使用说明书1
- [高等教育]煤气设备设施点检标准
- [高等教育]常见室内观叶植物图解
- [高等教育]312党员群众路线心得体会
- [高等教育]小学信息(苗版)第一册全册教案
- 在市---局2010党建大会上的讲话
- 《科哲》提纲及补充阅读材料(2010.7)
- 苏州高博软件技术职业学院论文开题报告
- 兼职导游管理的困境及对策探讨
- 基于通用设计理念的现代厨房产品语义研
- 康乐一中2010年至2011年度鼓号队、花束
- 第10章_数据收集整理与描述_期末复习课
- 2008年黑龙江林甸商贸购物中心营销策划
- 水硬度的测定实验报告
- 五分钟教你拍摄夜景光绘照
- 2014年临床妇产科三基三严试题及答案
- 0第二课 纾解压力第一站了解压力
- 解析建筑工程电气设备安装施工技术要点
- 地方性应用型本科高校“双师型”师资队
- 高考语文专题复习课件:小说阅读指导
- 装饰工程投标书2
- 大学生就业难问题探讨及对策
- English and Its History
- 青岛市城市房屋修缮工程质量监督管理办
- 初中英语形容词和副词的用法和练习题




