页面置换算法(虚拟内存的换页算法)/(缓存淘汰算法)

虚拟内存换页的算法有哪些?

  • 最近最少使用算法(LRU):指维护一个所有页面的链表,最近最多使用的页面在表头,最近最少使用的页面在表尾,优先淘汰表尾的页面。
  • 最少频率使用算法(LFU):它为每个页面设计了一个访问频次计数器,页面每次被访问时,频次加一,优点淘汰频次最小的页面。
  • 先进先出算法(FIFO):维护一个所有页面的链表,最新进入的页面放在表尾,最早进入的页面放在表头。当发生缺页中断时,淘汰表头的页面,并把新页面加到表尾。缺点是有可能会将经常访问的页面淘汰。
  • 最近未使用算法(NRU):优先淘汰没有被访问的页面。
  • 第二次机会算法:它对先进先出算法做了改进,当页面被访问时设置该页面的R(Read)位为1。需要替换时,检查最老页面的R位,如果为0,就表示这个页面又老又没有被使用,可以置换掉;如果为1,就将R位清0,并放到链表尾部。
  • 时钟算法:第二次机会算法需要在链表中移动页面,降低了效率,时钟算法使用环形链表将页面连接起来,再使用一个指针指向最老的页面。
  • 最优算法:将最长时间内不再被访问的页面置换标记出来,然后把因调用这个页面而发生的缺页中断推迟到将来。是一种理论上的算法,因为无法知道一个页面多长时间不再被访问。

猜你喜欢

转载自blog.csdn.net/weixin_43338519/article/details/107591874