ITPub博客

首页 > Linux操作系统 > Linux操作系统 > buffer cache 之我见

buffer cache 之我见

原创 Linux操作系统 作者:liangsicsdstu 时间:2010-08-16 09:24:24 0 删除 编辑

buffer cache是sga的一个功能组件,主要是能通过内存能快速修改或者写入数据,再写入数据文件中,

工作原理如下;

如果需要查询某block的内容,他会在lrulist(LRU是Least Recently Used最近最久未使用算法。)

不会遍历整个buffer cache,如果buffer cache中的所有buffer如果处于同一个结构管理

下,要查找一个block会遍历所有的buffercache,

所以在查找block的时候会通过hash算法找到bucket,再在bucket中寻找目标block

buffercache通过hash算法生成了很多bucket

他会利用 hash 算法 找到属于的bucket

图书馆比喻

每个书架上有书 怎么找到这些书呢,书全部都在 书柜里面,通过钥匙锁起来。要取书必须要把钥匙 就像数据全部都在buffercache里面

需要分类比如按照字母分类 oracle 是o打头的书,把o打头的书的位置相关信息整理出来,每本书写在一个牌子上,作为查找时翻阅的目录

将这些牌子串在一起 放在bucket 这个抽屉里(o开头的抽屉)

buffer cache chain相当于钥匙串 只有使用的人能在上面找牌子,当一个人找时其他的人都不能找,

相当于一个独占的内存锁,在使用的时候这个latch时候 是排他的  在bucket中寻找block 获得一个latch排他锁,其他人是不能同时在bucket中利用latch修改

buffer数据块的。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/20563631/viewspace-671035/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: curriculum vitae
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2010-08-11

  • 博文量
    3
  • 访问量
    1203