### 1. 交换空间 - 在硬盘上开辟一部分空间用于物理页的移入和移出 - 操作系统需要记住给定页的硬盘地址 ### 2. 操作系统替换内存策略 > 内存相当于系统虚拟内存页的缓存 > > 目标: > > 1. 减少缓存未命中情况,使得从磁盘获取页的次数最少 > 2. 让缓存命中最多,即在内存中找到虚拟页的次数更多 - 最优替换策略:替换最远将来才会使用到的内存页,可以打到缓存未命中率最低 - 简单策略 FIFO - 随机策略 random - 利用历史数据 LRU LFU > 程序局部性 > > - 空间局部性:如果页 P 被访问,可能围绕着他的页 P-1 或 P+1也会被访问 > > - 时间局部性:近期被访问过的页可能在不就的将来还会被访问 #### 2.1 FIFO - 先入先出替换策略 - 页在进入系统时,简单地放入一个队列。当发生替换时,队列尾部的页(“先入”页)被踢出 - 优势:实现相当简单 - 缺点:命中率低 #### 2.2 随机策略 - 内存满的时候它随机选择一个页进行替换 #### 2.3 LRU & LFU - Last Recently Used 替换最近最少使用的页面 - Least Frequently Used 会替换最不经常使用的页 - 某个程序在过去访问过某个页,则很有可能在不久的将来会再次访问该页 #### 2.4 近似 LRU - 不会精确的扫描页表中,最近最少的页面 - 通过硬件存储标志位,利用时钟周期来进行查找 - 最差的情况是遍历一次内存