### 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

- 不会精确的扫描页表中，最近最少的页面
- 通过硬件存储标志位，利用时钟周期来进行查找
- 最差的情况是遍历一次内存