CMU 15445 Buffer Pool

发布时间 2023-04-29 17:21:56作者: shinidetiehanhan

task 1 实现 LRU-k

  • Evivt, 从缓冲里淘汰掉一个页
    • 当缓冲满的时候
  • RecordAcess, 记录下这个访问的页的页 id 以及时间戳
    • 当一个页被访问时,需要进行 pin,一般这个操作位于 pin 之后
  • Remove, 清空一个页的历史访问记录
    • 当一个页被从 BFM 中删除时才调用
  • SetEvictable, 设置一个页的状态为可以被删除或者不可以被删除,显然当pin的计数为0时,可以调用设置为可以被删除。
  • Size, 返回当前的可淘汰的页的数量
  1. 读取一个页
    • 在 buffer 里面
    • 不在 buffer 里面
  2. 写一个页
    • 在 buffer 里面
    • 不在 buffer 里面