lru算法和fifo算法的區(qū)別 LRU和LFU到底有什么區(qū)別?
LRU和LFU到底有什么區(qū)別?首先,LRU是最長(zhǎng)時(shí)間沒(méi)有使用頁(yè)面消除算法的。他的想法是刪除那些長(zhǎng)時(shí)間沒(méi)有訪(fǎng)問(wèn)的頁(yè)面。LFU是最新的最少使用頁(yè)面消除算法,其思想是:永遠(yuǎn)把當(dāng)前使用最少的頁(yè)面去掉。從字面上
LRU和LFU到底有什么區(qū)別?
首先,LRU是最長(zhǎng)時(shí)間沒(méi)有使用頁(yè)面消除算法的。他的想法是刪除那些長(zhǎng)時(shí)間沒(méi)有訪(fǎng)問(wèn)的頁(yè)面。LFU是最新的最少使用頁(yè)面消除算法,其思想是:永遠(yuǎn)把當(dāng)前使用最少的頁(yè)面去掉。
從字面上看,似乎這兩種算法是相似的,很難理解。但是讓我們舉個(gè)例子,你可以完全理解它:
例如,內(nèi)存可以存儲(chǔ)6頁(yè),現(xiàn)在內(nèi)存中的頁(yè)是2,1,1,1,3,2
使用LRU:下一個(gè)要?jiǎng)h除的頁(yè)是1,因?yàn)樗罱鼪](méi)有被使用過(guò)
使用LFU:要?jiǎng)h除的頁(yè)是3,因?yàn)?至少只被使用過(guò)一次說(shuō)到緩存,必須考慮兩點(diǎn)
緩存數(shù)據(jù)和目標(biāo)數(shù)據(jù)的一致性。
緩存過(guò)期策略(機(jī)制)。
其中,緩存過(guò)期策略涉及消除算法。常用的消去算法如下:
FIFO:先進(jìn)先出
LRU:最近最少使用
LFU:最近最少使用
注意LRU和LFU的區(qū)別。LFU算法根據(jù)數(shù)據(jù)項(xiàng)在一段時(shí)間內(nèi)的使用次數(shù)來(lái)選擇使用最少的數(shù)據(jù)項(xiàng),即根據(jù)使用次數(shù)的不同來(lái)確定。LRU根據(jù)使用時(shí)間的不同而確定。
LRU和LFU有什么區(qū)別?
LRU是最近最少使用的頁(yè)面替換算法(最近最少使用),即首先消除最長(zhǎng)未使用的頁(yè)面!LFU是最近使用最少的頁(yè)面替換算法(最少頻繁使用),即在一定時(shí)間內(nèi)消除最少訪(fǎng)問(wèn)的頁(yè)面!例如,第二方法的周期T是10分鐘。如果每分鐘分頁(yè)一次,則內(nèi)存塊為3,如果所需的頁(yè)方向?yàn)?121234,請(qǐng)注意,調(diào)用第4頁(yè)時(shí)會(huì)出現(xiàn)缺頁(yè)。根據(jù)LRU算法,第1頁(yè)應(yīng)該被替換(第1頁(yè)的使用時(shí)間最長(zhǎng)),但是第3頁(yè)應(yīng)該根據(jù)LFU算法被替換(第3頁(yè)每十分鐘才使用一次)??梢钥闯?,LRU的關(guān)鍵是看頁(yè)面從上次使用到調(diào)度的時(shí)間,而LFU的關(guān)鍵是看頁(yè)面在一定時(shí)間段內(nèi)的使用頻率
LFU算法LFU算法過(guò)程是什么,呵LRU算?
最近未使用的概念與最近最少使用的概念相同。最近未使用是指最近最少使用的數(shù)據(jù)趨于零。LRU可以用雙向鏈表哈希表實(shí)現(xiàn)。
綜上所述,無(wú)論訪(fǎng)問(wèn)次數(shù)多少,LRU都會(huì)查看從上次使用頁(yè)面到計(jì)劃的時(shí)間長(zhǎng)度。例如,一些長(zhǎng)時(shí)間沒(méi)有訪(fǎng)問(wèn)過(guò)一次的頁(yè)面,只要最近訪(fǎng)問(wèn)過(guò),就不會(huì)被刪除。LFU是基于一定時(shí)間段內(nèi)使用頁(yè)面的頻率。即使他們最近被拜訪(fǎng)過(guò),他們也可能被淘汰。