用页面置换算法决定应该换出哪个页面
五种页面置换算法: 1)最佳置换算法(OPT) 2)先进先出算法(FIFO) 3)最近最少使用算法(LRU) 4)时钟置换算法(CLOCK) 5)改进型的时钟置换算法
最佳置换算法(OPT): 每次选择淘汰的页面将是以后永不使用,最长时间内不再被访问的页面,无法实现
先进先出算法(FIFO) 把调入内存的页面根据调入的先后顺序排成一个队列,换出时选择队头页面,最大长度取决于 系统为进程分配了多少个内存块,性能比较差
最近最少使用算法(LRU) 每次淘汰的页面是最近未使用的页面,用访问字段记录该页面上次被访问以来所经历的时间, 当需要淘汰一个页面的时候,选择页面中时间值最大的,需要专门的硬件支持,开销大
时钟置换算法(CLOCK) 内存中的页面通过链接指针,链接成一个循环队列,增加一个字段访问位字段,1表示访问过,0表示未访问过 循环遍历,如果是0就选择该页换出,如果是1就修改为0,最多会经过两轮扫描
改进型的时钟置换算法 增加一个是否修改过条件,如果为1就修改过,如果为0就没修改过
页面分配策略
驻留级:请求分页存储管理中给进程分配的物理块集合,一般小于进程的总大小
页面分配/置换策略:一般是可变分配全局置换,可变分配局部置换
调入页面的时机:根据局部性原理,一次调入若干相邻页面,主要用于进程的首次调入
从何处调页:对换区(连续分配方式)和文件区(离散分配)
抖动现象:极短时间换入换出,分配给进程的物理块不够
工作集:根据窗口尺寸算出进程实时访问的页面集合