2013-04-22 70 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