第6章 页面置换算法
6.1 页面置换算法的概念
(1)功能目标
功能:当缺页异常发生时,需要调入新的页面而内存已满时,选择内存当中哪个物理页面被置换。
(2)设计目标:
- 尽可能减少页面的换入换出次数(即缺页中断的次数)。
- 把未来不再使用的或短期内较少使用的页面换出
,通常只能在局部性原理的指导下依据过去的统计数据来进行预测。
(3)页面锁定(frame locking):
- 用于描述必须常驻内存的逻辑页面
- 操作系统的关键部分
- 要求响应速度的代码和数据
- 实现方法是,在页表中添加锁定标志位(lock bit)。
置换算法的评价方法:
页面置换算法分类:
-
局部页面置换算法
- 置换页面的选择范围仅限于当前进程占用的物理页面
- 最优算法,先进先出算法,最近最久未使用算法
- 时钟算法,最不常用算法
-
全局页面置换算法
- 置换页面的选择范围是所有可换出的物理页面
- 工作集算法,缺页率算法
6.2 局部页面置换算法
6.2.1 最优页面置换算法
-
基本思路;置换在未来最长时间不访问的页面
-
算法实现:
- 缺页时,计算内存中每个逻辑页面
- 选择未来最长时间不访问的页面
-
算法特征
- 缺页最少,是理想情况
- 实际系统中无法实现
- 无法预知每个页面在下次访问前的等待时间
- 作为置换算法的性能评价依据
- 在模拟器上运行某个程序,并记录每一次的页面访问情况
- 第二遍运行时使用最优算法