分类: LINUX
2014-12-25 21:24:44
文件对象仅仅是进程访问文件的一种描述,多个file object实际上对应了一个inode对象,一个文件的缓存只有一份,不可能有多份。struct mm_struct算是进程的地址空间,address_space算是文件系统的地址空间,二者通过vm_area_struct实现转换。
inode、address_space、页缓存、交换缓存、交换区是多进程共享的,mm_struct、file、vm_area_struct是进程私有的。
vm_area_struct的红黑树和优先树是有区别的,前者是进程私有的,后者是多进程共享。
页表也是进程私有的,主要由mm_struct来维持,但是内核也是用多级页表来管理物理内存,此处的页表和内核的多级页表不同。
缓存分为了数据缓存和对象缓存两种,数据缓存是存了实实在在的数据内容,对象缓存是指内存对象