2.7 Linux页缓存:
L i n u x页缓存的作用是加速对磁盘上文件的访问。内存映射的文件每次读取一页,并且这
些页就保存在页缓存中。
L i n u x中每个文件由一个VFS inode数据结构标识(在第7章中描述),并且每
个VFS inode 都是唯一的,完全描述一个且唯一的一个文件。页表的索引就由文件的V F S
i n o d e和文件内的偏移导出。
每当一页要从内存映射文件读出时(比如当在请求调页时需要被读回内存),该页通过页缓
存被读出。如果该页在缓存中,一个代表该页的m e m _ m a p _ t数据结构指针被返回给页故障处
理代码,否则该页必须从保存相应映像的文件系统中被读到内存。L i n u x分配一个物理页然后
从磁盘文件中读取该页。
随着映像的读入和执行页缓存不断增长,当页不再被需要时会被移出缓存,比如说一个
映像不再被任何进程使用时。随着L i n u x不断使用内存,它可能开始缺少物理页,这时L i n u x
将减少页缓存的大小。