【操作系统学习】内存管理(五)

内存管理目录:

基本概念和内存分配

虚拟内存技术

局部页面替换算法

全局页面替换算法

 

11. 全局替换算法

工作集模型

工 作 集 : 一 个 进 程 当 前 正 在 使 用 的 逻 辑 页 面 集 , 
可 以 用 一 个 二 元 函 数 W ( t , A ) 来 表 示 
t 是 当 前 的 执 行 时 刻 ; 
^ 称 为 工 作 集 窗 囗 (working-set window ) , 閻 一 个 定 长 的 页 面 访 问 的 时 
间 囗 ; 
w (t , ^ ) = 在 当 前 时 t 之 前 的 ^ 时 间 囗 当 中 的 所 有 页 商 所 组 成 集 合 
( 随 着 t 的 变 化 · 该 集 合 也 在 不 断 地 变 化 ) 
《 叭 t , ^ ) 《 指 工 年 集 大 小 , 页 面 数 目 。

常驻集

常 驻 集 是 指 在 当 前 时 刻 , 进 程 实 际 驻 留 在 内 存 当 中 
的 页 面 集 合 。 
· 工 作 集 是 进 程 在 运 行 过 程 中 固 有 的 性 质 , 而 常 驻 集 取 决 于 系 统 分 配 给 
进 程 的 物 理 页 面 目 , 以 及 所 采 用 的 页 置 换 算 法 ; 
· 刘 果 一 个 进 程 的 整 个 工 作 集 都 在 内 舊 当 中 , 圈 常 驻 集 0 ( ) 工 作 
集 , 那 么 进 程 将 很 顺 利 地 运 行 , 而 不 会 造 成 太 呙 的 缺 页 中 新 ( 直 到 工 
作 集 发 生 剧 烈 变 动 , 从 而 过 渡 到 另 一 个 状 态 ) ; 
进 程 常 驻 集 的 人 小 达 到 某 个 数 目 之 后 · 冉 给 它 分 配 更 另 的 物 理 页 
率 也 不 会 明 显 下 降 。

工作集置换算法

iBfi2äijt TäjSI# 
Example: t 
= 4 references: 
Time 
Requests 
Page a 
no Pageb 
Page c 
Page d 
Page e 
Faults 
1 
e 
2 
e 
e 
3 
d 
e 
e 
4 
5 
c 
o 
6 
e 
e 
o 
7 
e 
8 
e 
9 
a 
10 
d

缺页率置换算法

Example: window size = 2 
tcurrenr 
Oast) 2, 
Time 
Requests 
Page a 
Page b 
page c 
Page d 
Page e 
Faults 
cur ¯ last 
e 
C 
e 
d 
e 
e 
b 
e 
c, 
3 
c 
e 
e 
e 
2 
las 
c 
e 
e 
a 
3 
d

抖动问题:

  • 如果分配给一个进程的物理页面太少,不能包含整个的工作集,即常驻集 < 工作集,那么进程将会造成很多的缺页中断,需要频繁地在内存与外存之间替换页面,从而使进程的运行速度变得很慢,我们把这种状态称为“抖动”。
  • 产生抖动的原因
    • 随着驻留内存的进程数目增加,分配给每个进程的物理页面数不断减小,缺页率不断上升。所以OS要选择一个适当的进程数目和进程所需的帧数,以便并发水平和缺页率之间达到一个平衡。
posted @ 2021-12-24 10:36  no_forget  阅读(70)  评论(0编辑  收藏  举报