操作系统知识要点

Published: 26 Sep 2014 Category: 技术

页面置换算法

当发生缺页中断时,操作系统需要在内存中选择一个页面将其换出内存,再将需要的页面调用内存。那么,应该选择哪个页面呢?这是 由页面转换算法来决定的。

最优页面置换算法

假如我们可以预测出内存中的一个页面,过了很久很久才会被访问,比其它页面都久,那么,我们就应该将这个页面换出内存。这就是 最优页面转换算法,但是,由于我们无法做出这种预测,或者说即使可以通过仿真预测出来,得到的性能也和其它算法差不多,那么, 我们就没有必要使用这种算法。

最近未使用算法(Not Recently Used)

将页面分成四类

  • 第0类:没有被访问,没有被修改
  • 第1类:没有被访问,已被修改
  • 第2类:已被访问,没有被修改
  • 第3类:已被访问,已被修改

优先选择低类别的进行置换。

先进先出算法(First In First Out)

操作系统维护一个页面链表,最新进入的在表尾,替换时将表头页面移出。

第二次机会算法

对FIFO的改进,如果表头的页面没有被访问过,则移出,如果被访问过,就将他放在表尾,并将访问位清0。