Linux 内核的文件 cache 管理机制。
文件 cache 是文件数据在内存中的副本,这里涉及两方面的内容
内存的管理,和文件系统。
文件 cache 就将两者联系起来,要回答该题目就需要了解这两块内容。
- 在 linux系统中,某个程序需要读取文件中的数据时,操作系统先在内存中分配一些空间,然后再将数据从磁盘读入到这块空间,应用程序实际从这块内存空间读数据。
- 当程序向文件中写入数据时也是先将数据写到内存,再从内存更新到磁盘上。文件的cache管理就指的是对这些由操作系统分配,并用来存储文件数据的内存的管理。
- 文件cache 管理的好坏由两个标准衡量,一是命中率,一是有效 cache 的比率。
- 文件cache的实现分两层,一是pagecache,一是Buffercache。每一个pagecache包含若干buffcache,内存管理系统负责维护没项page cache 的分配和回收。同时再使用 memory map 方式访问时负责建立映射。
- 还有一个需要考虑的问题是文件 cache 的预读和替换