内存管理目录:
基本概念和内存分配
虚拟内存技术
局部页面替换算法
全局页面替换算法
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
阅读(
105)
评论()
收藏
举报