看linux内核很容易被struct address_space 这个结构迷惑,它是代表某个地址空间吗?实际上不是的,它是用于管理文件(struct inode)映射到内存的页面(struct page)的;与之对应,address_space_operations 就是用来操作该文件映射到内存的页面,比如把内存中的修改写回文件、从文件中读入数据到页面缓冲等。
参考下面这张图,摘自《深入理解linux虚拟内存管理》,对理解linux内存管理颇有帮助
本文解析了Linux内核中struct address_space结构的作用,并非直接代表地址空间,而是用于管理文件映射到内存页面的过程。通过address_space_operations进行读写操作,如将内存修改同步回文件或从文件加载数据到页面缓冲。
看linux内核很容易被struct address_space 这个结构迷惑,它是代表某个地址空间吗?实际上不是的,它是用于管理文件(struct inode)映射到内存的页面(struct page)的;与之对应,address_space_operations 就是用来操作该文件映射到内存的页面,比如把内存中的修改写回文件、从文件中读入数据到页面缓冲等。
参考下面这张图,摘自《深入理解linux虚拟内存管理》,对理解linux内存管理颇有帮助
1434
796

被折叠的 条评论
为什么被折叠?