【问题标题】:File Caching between processes进程之间的文件缓存
【发布时间】:2015-05-03 21:50:45
【问题描述】:

我有兴趣知道在windows和linux下,文件缓存在进程之间起作用吗?如果进程 A 读取整个文件,而新进程 B 想要读取其中的部分(或全部),假设文件已经在内存中是否有意义?还是缓存只发生在每个进程中的每个文件对象?

【问题讨论】:

    标签: linux windows caching internals


    【解决方案1】:

    Windows 和 Linux 都在系统内存中缓存文件数据,与进程分开。但是,您无法对在任何给定时间仍有多少文件(如果有)仍在缓存中做出任何假设。

    操作系统维护一个固定大小页面的缓存(通常在 Linux 上为 4 KB,在 Windows 上为 256 KB)。每个页面都包含一个文件的一部分。当您的进程进行读取时,操作系统会在缓存中搜索包含您请求的数据的页面。如果找不到您请求的所有数据,它会将所需的页面从磁盘读取到缓存中,可能会覆盖其他现有页面。

    【讨论】:

      猜你喜欢
      • 2014-01-10
      • 2012-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多