Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm MFU和LRU页面替换算法的比较_Algorithm_Page Replacement - Fatal编程技术网

Algorithm MFU和LRU页面替换算法的比较

Algorithm MFU和LRU页面替换算法的比较,algorithm,page-replacement,Algorithm,Page Replacement,MFU最常用的页面替换算法何时比LRU最不常用的性能更好?什么时候比LRU更糟糕? 我在哪里可以找到MFU页面替换算法基本定义之外的信息?通常,我看到MFU缓存用作主缓存,由使用LRU替换算法的辅助缓存作为MRU缓存作为备份。其想法是,最近使用的东西将保留在主缓存中,从而提供非常快速的访问。这减少了在MRU缓存中频繁使用少量项目时出现的混乱。它还可以防止那些常用项仅仅因为它们已经有一段时间没有被使用而从缓存中逐出 如果有少量经常被引用的项,而大量不经常被引用的项,MFU工作得很好。例如,一个典型

MFU最常用的页面替换算法何时比LRU最不常用的性能更好?什么时候比LRU更糟糕?
我在哪里可以找到MFU页面替换算法基本定义之外的信息?

通常,我看到MFU缓存用作主缓存,由使用LRU替换算法的辅助缓存作为MRU缓存作为备份。其想法是,最近使用的东西将保留在主缓存中,从而提供非常快速的访问。这减少了在MRU缓存中频繁使用少量项目时出现的混乱。它还可以防止那些常用项仅仅因为它们已经有一段时间没有被使用而从缓存中逐出

如果有少量经常被引用的项,而大量不经常被引用的项,MFU工作得很好。例如,一个典型的桌面用户可能有三到四个程序,他每天使用很多次,还有数百个程序他很少使用。如果您想通过缓存内存中的程序来改善他的体验,以便它们能够快速启动,那么最好缓存他经常使用的东西


另一方面,如果有大量项目基本上是随机引用的,或者某些项目的访问频率略高于,或者项目通常是成批引用的,即项目a在短时间内多次访问,然后根本没有访问,那么LRU缓存逐出方案可能会更好。

通常,我见过一个MFU缓存用作主缓存,由使用LRU替换算法的辅助缓存(MRU缓存)支持。其想法是,最近使用的东西将保留在主缓存中,从而提供非常快速的访问。这减少了在MRU缓存中频繁使用少量项目时出现的混乱。它还可以防止那些常用项仅仅因为它们已经有一段时间没有被使用而从缓存中逐出

如果有少量经常被引用的项,而大量不经常被引用的项,MFU工作得很好。例如,一个典型的桌面用户可能有三到四个程序,他每天使用很多次,还有数百个程序他很少使用。如果您想通过缓存内存中的程序来改善他的体验,以便它们能够快速启动,那么最好缓存他经常使用的东西


另一方面,如果您有大量项目基本上是随机引用的,或者某些项目的访问频率略高于,或者项目通常是批量引用的,即项目a在短时间内多次访问,然后根本不访问,然后,LRU缓存逐出方案可能会更好。

最近使用最少的LRU页面替换算法

在此算法中,必须替换最长时间未使用的页面

LRU页面替换算法的优点:

可以进行全面的统计分析。 从来没有遭受过贝拉迪的异常。 最常用的MFU页面替换算法

实际上,MFU算法认为使用最频繁的页面不会立即被需要,因此它将取代MFU页面

例子:考虑以下参考字符串:7 0、1、2、0、3、0、4、2、3、0、3、3、3、</p> 缓冲区大小:3 字符串:7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1

710230042302310701


最近最少使用的LRU页面替换算法

在此算法中,必须替换最长时间未使用的页面

LRU页面替换算法的优点:

可以进行全面的统计分析。 从来没有遭受过贝拉迪的异常。 最常用的MFU页面替换算法

实际上,MFU算法认为使用最频繁的页面不会立即被需要,因此它将取代MFU页面

例子:考虑以下参考字符串:7 0、1、2、0、3、0、4、2、3、0、3、3、3、</p> 缓冲区大小:3 字符串:7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1

710230042302310701


不确定我是否遗漏了什么,但这不是解释过的MRU算法的反面吗?`edia.org/wiki/Cache\u replacement\u policiesMost\u最近使用的\u MRU-MRU算法在项目越老的情况下越有用accessed@seeker对这个答案混合了第二句应该读的最常用的词,并使用MFU缓存来表示带有LFU替换算法的缓存。根据我的经验,这是一个不正确的术语。LRU缓存指的是逐出最近使用最少的项的缓存,因此MFU缓存应该是逐出最常用项的缓存。有人能告诉我为什么吗
MFU在实践中不太常用,或者可能出现的潜在问题?不确定我是否遗漏了什么,但这不是解释的MRU算法的反面-`edia.org/wiki/Cache\u replacement\u policiesMost\u最近使用的\u MRU-MRU算法在项目越旧的情况下最有用,可能性越大accessed@seeker是的,这个答案混合了第二句应该读的最常用的东西,并使用MFU缓存来表示带有LFU替换算法的缓存。根据我的经验,这是一个不正确的术语。LRU缓存指的是逐出最近使用最少的项的缓存,因此MFU缓存应该是逐出最常用项的缓存。有人能告诉我为什么MFU在实践中不经常使用或可能出现的潜在问题吗?
7 7 7 2 2 2 0 4 2 2 0 0 2 2 2 0 0 7 7 7

  0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 3 0 0

    1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1