1、 - 1 - 页面置换算法的演示页面置换算法的演示 一题目要求:一题目要求: 设计一个虚拟存储区和内存工作区,编程序演示下述算法的具体实现过程, 并计算访问命中率: 要求设计主界面以灵活选择某算法,且以下算法都要实现 1) 最佳置换算法最佳置换算法(OPT):将以后永不使用的或许是在最长(未来)时间内不再 被访问的页面换出。 2) 先进先出算法先进先出算法(FIFO):淘汰最先进入内存的页面,即选择在内存中驻留 时间最久的页面予以淘汰。 3) 最最近最近最久未使用算法久未使用算法(LRU):淘汰最近最久未被使用的页面。 4) 最不经常使用算法最不经常使用算法(LFU) 二实验目的:二实验目的:
2、 1、用 C 语言编写 OPT、FIFO、LRU,LFU 四种置换算法。 2、熟悉内存分页管理策略。 3、了解页面置换的算法。 4、掌握一般常用的调度算法。 5、根据方案使算法得以模拟实现。 6、锻炼知识的运用能力和实践能力。 三相关知识:三相关知识: 1虚拟存储器的引入:虚拟存储器的引入: 局部性原理:程序在执行时在一较短时间内仅限于某个部分;相应的,它所 访问的存储空间也局限于某个区域,它主要表现在以下两个方面:时间局限性和 空间局限性。 2虚拟存储器的定义:虚拟存储器的定义: 虚拟存储器是只具有请求调入功能和置换功能,能从逻辑上对内存容量进行 扩充的一种存储器系统。 3虚拟存储器的实现方
3、式:虚拟存储器的实现方式: 分页请求系统,它是在分页系统的基础上,增加了请求调页功能、页面置换 功能所形成的页面形式虚拟存储系统。 请求分段系统,它是在分段系统的基础上,增加了请求调段及分段置换功能 后,所形成的段式虚拟存储系统。 4页面分配:页面分配: 平均分配算法,是将系统中所有可供分配的物理块,平均分配给各个进程。 按比例分配算法,根据进程的大小按比例分配物理块。 - 2 - 考虑优先的分配算法,把内存中可供分配的所有物理块分成两部分:一部分 按比例地分配给各进程;另一部分则根据个进程的优先权,适当的增加其相应份 额后,分配给各进程。 5页面置换算法:页面置换算法: 常用的页面置换算法有
4、 OPT、FIFO、LRU、Clock、LFU、PBA 等。 四设计思想:四设计思想: 选择置换算法,先输入所有页面号,为系统分配物理块,依次进行置换: OPT 基本思想:基本思想: 是用一维数组 pagepSIZE存储页面号序列,memerymSIZE是存储装入物 理块中的页面。数组 nextmSIZE记录物理块中对应页面的最后访问时间。每当 发生缺页时,就从物理块中找出最后访问时间最大的页面,调出该页,换入所缺 的页面。 【特别【特别声明】声明】 若物理块中的页面都不再使用,则每次都置换物理块中第一个位置的页面。若物理块中的页面都不再使用,则每次都置换物理块中第一个位置的页面。 FIFO 基本思想基本思想: 是用队列存储内存中的页面,队列的特点是先进先出,与该算法是一致的, 所以每当发生缺页时,就从队头删除一页,而从队尾加入缺页。或者借助辅助数 组 timemSIZE记录物理块中对应页面的进入时间,每次需要置换时换出进入时 间最小的页面。 LRU 基本思想基本思想: 是用一维数组 pagepSIZE存储页面号