47 lines
1.5 KiB
Markdown
47 lines
1.5 KiB
Markdown
|
### 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
|
||
|
|
||
|
- 不会精确的扫描页表中,最近最少的页面
|
||
|
- 通过硬件存储标志位,利用时钟周期来进行查找
|
||
|
- 最差的情况是遍历一次内存
|