现在的位置: 首页 > 综合 > 正文

PageCache, BufferCache, SwapCache

2013年01月04日 ⁄ 综合 ⁄ 共 676字 ⁄ 字号 评论关闭

BufferCache

    • 块缓冲,通常1K,对应于一个磁盘块,用于减少磁盘IO
    • 由物理内存分配,通常空闲内存全是bufferCache
    • 应用层面,不直接与BufferCache交互,而是与PageCache交互(见下)
    • 读文件:

直接从bufferCache中读取

  • 写文件:

       方法一,写bufferCache,后写磁盘

       方法二,写bufferCache,后台程序合并写磁盘

 

PageCache

  • 页缓冲/文件缓冲,通常4K,由若干个磁盘块组成(物理上不一定连续),也即由若干个bufferCache组成
  • 读文件:

      可能不连续的几个磁盘块》》bufferCache》》pageCache》》应用程序进程空间

  • 写文件:

       pageCache, bufferCache》》磁盘

 

SwapCache

  • 交换空间(虚拟内存的表现形式)

 

如何使用PageCache

  • 以下日志,属摘抄部分,我自己还没理解。
  • 【1】通过VFS直接在不同文件的Cache之间或者Cache与应用程序所提供的用户空间buffer之间拷贝数据,其实现原理如下图

  • 【2】是通过VMM(虚拟内存管理)将Cache项映射到用户空间,使得应用程序可以像使用内存指针一样访问文件,Memory map访问Cache的方式在内核中是采用请求页面机制实现的,其工作过程如图

  • 【3】总结1与2,总的访问图:

 

 

参考:

http://blog.csdn.net/cheungjustin/article/details/5853399

http://baike.baidu.com/view/1111885.htm

抱歉!评论已关闭.