2013-04-22 100 views
0

我瞭解到,由於計算開銷,真正的LRU沒有在虛擬內存系統中實現。那麼,爲什麼LRU算法在文件緩存中可行呢?LRU用於文件系統緩存嗎?

我認爲原因可能是inode中的時間字段。那是對的嗎?

回答

2

這是關於速度。

虛擬內存狀態位必須以納秒爲單位進行更新,因此需要硬件支持,並且LRU的狀態信息在硬件中實施起來很昂貴。例如。時鐘算法被設計爲用較低的硬件支持來近似LRU。

文件系統操作的時間大約爲毫秒。在這段時間的一小部分時間內,CPU可以在軟件中執行LRU。從CPU的觀點(190,000條指令)來看,毫秒級的「緩慢」只能防止少量的高速緩存未命中,從而產生巨大的回報。

+0

哦,非常感謝! – 2013-04-22 03:00:11

+0

@우지식不客氣。如果答案有幫助,那麼如果你接受了它會很好。 – Gene 2014-02-07 19:13:51