【问题标题】:Why LRU is better for replacement of file buffers in the buffer cache?为什么 LRU 更适合替换缓冲区缓存中的文件缓冲区?
【发布时间】:2018-10-03 00:18:48
【问题描述】:

有人能解释一下为什么 LRU 对于页面替换算法不实用,它对于替换缓冲区缓存中的文件缓冲区是完全可以接受的。

【问题讨论】:

    标签: file operating-system buffer page-replacement


    【解决方案1】:

    LRU 有一种使用计数器的方法。每次发生页面调用时,我们使用 CPU 时钟来检查时间。因此,如果发生页面替换,您将选择最旧的页面。这种方法的缺点是,每当发生替换时,必须找到页表中最旧的页,并且每次更改页表时都必须更改页的时间。

    【讨论】:

      【解决方案2】:

      要使 LRU 策略成功,您需要一个具有良好时间局部性的用例(应该重用最近使用的对象)以及一种简单的方法来跟踪对象何时被使用。 文件和内存都符合第一个标准。文件也符合第二个标准——用户通常会执行系统调用来访问所需的数据,从而轻松更新 LRU。 但是,没有廉价的方法来标记何时访问内存,因为操作系统通常不参与内存访问。这使得页面替换系统无法轻松确定排序。

      一个可能的解决方法是通过 NRU(最近未使用)来近似 LRU,其中页面偶尔会在访问时设置为错误,并在错误处理程序中完成使用跟踪。

      【讨论】:

        猜你喜欢
        • 2021-01-14
        • 2016-07-10
        • 2022-08-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-12
        • 2023-03-02
        相关资源
        最近更新 更多