文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>buffer cache vs page cache(page cache的演化)

buffer cache vs page cache(page cache的演化)

时间:2007-06-10  来源:zixin

在2.2x时期,page cache和buffer cache是两套cache系统,之间有同步.但是
linux不保证每个版本都如此.
如果现在/dev/hda1是根,如果hda1上有文件a.txt用dd dump /dev/hda1能够
得到和open a.txt一样的结果.
到了2.4.x事情已经变得不是这样了,dd if=/dev/hda1 从buffer cache中获取
数据,open打开的普通文件缓冲到page cache,两者没有任何同步机制(meta data
还是一致的). 合适的次序下,得到的结果不能保证正确性.
当然dump一个已经mount的,"live file system"是个愚蠢的做法,我们只是拿
来讨论问题.
到了2.5,文件的meta data也移到了page cache,事情进一步复杂了.在2.6的内
核中page cache和buffer cache进一步结合,从此buffer cache 消失,只有page
cache了. buffer cache退化为一个纯粹的io entry.随了linus的心愿.
可以看看linus的讨论
http://groups.google.com/group/fa.linux.kernel/browse_thread/thread/3d1be60ca2980479/0ca4533f7d0b73e4?hl=zh-CN&
在2.4中buffer cache自己维护了一套类似page cache和lru队列的机制,对
buffer cache做lru 缓冲处理,的确不是一个什么好东西.
相关阅读 更多 +
排行榜 更多 +
特技摩托挑战(wheelie challenge)

特技摩托挑战(wheelie challenge)

赛车竞速 下载
创造世界游戏

创造世界游戏

冒险解谜 下载
终极躲避球

终极躲避球

休闲益智 下载