Belady现象
采用FIFO等算法时,可能出现分配的物理页面数增加,缺页次数反而升高的现象
原因:
- FIFO算法的置换特征与进程访问内存的动态特征矛盾
- 被它置换出去的页面并不一定是进程近期不会访问的
FIFO算法开销小 有Belady现象
LRU没有Belady现象 性能好 但是系统开销大
Clock算法是它们的折中
全局置换算法
给进程分配可变数目的物理页面
CPU利用率与并发进程之间存在相互促进与相互制约的关系
工作集
进程当前正在使用逻辑页面的集合
常驻集
在当前时刻,进程实际驻留在内存当中页面集合
取决于系统分配给进程的物理页面数目和置换算法
缺页率与常驻集之间的关系
- 常驻集>=工作集,缺页较少
- 工作集发生剧烈抖动(过渡时),缺页较多
- 进程常驻集大小达到一定数目后,缺页率也不会明显下降
工作集置换算法
换出不在工作集中的页面
实现:
- 访存链表 : 维护窗口内的访存页面链表
- 访存时,换出不在工作集的页面;更新访存链表(此处是在一个时间段(eg:t=4)内未访问的)<