LRU 最近最久未使用置换算法的C++实现( 三 )

< n; i++){state[now_time][i] = memory[i];}now_time++;//访问完一个页面,当前时间加1return;}

LRU  最近最久未使用置换算法的C++实现

文章插图
运行结果
最佳置换算法(OPT)(理想置换算法)
无法预知一个进程中的若干页面哪一个最长时间不被访问,故无法实现 。
各算法优缺点 最近最久未使用(LRU)
优点:由于考虑程序访问的时间局部性,一般能有较好的性能;实际应用多 。
缺点:实现需要较多的硬件支持,会增加硬件成本 。
先进先出(FIFO)
优点:先进先出算法实现简单,是最直观的一个算法 。
缺点:先进先出的性能最差,因为与通常页面的使用规则不符合,所以实际应用少 。
最近不用算法(NRU/CLOCK)
优点:近似于LRU算法,考虑了时间局部性,一般性能比LRU好 。
缺点:同样需要较多的硬件支持,会增加硬件成本 。
最佳置换算法(OPT)(理想置换算法)
缺点:最佳置换算法是一种理想化算法,具有较好的性能,但是实际上无法实现(无法预知一个进程中的若干页面哪一个最长时间不被访问);
优点:最佳置换算法可以保证获得最低的缺页率