当前位置: 技术问答>linux和unix
linux fs中address_space与radix tree生成问题
来源: 互联网 发布时间:2016-08-26
本文导语: 有没有对linux的文件系统了解的 把fs大致看了大概,但是有些细节不是很明白,代码也跟了,结果很不幸跟丢了。 问题: The core data structure of the page cache is the address_space object, a data structure embedded in the in...
有没有对linux的文件系统了解的
把fs大致看了大概,但是有些细节不是很明白,代码也跟了,结果很不幸跟丢了。
问题:
The core data structure of the page cache is the address_space object, a data structure embedded in the inode object that owns the page
Linux 2.6 makes use of a large set of search trees(radix tree), one for each address_space object.----摘自ulk 3rd
那么这个address_space与radix tree是什么情况下创建呢
我知道super_block会有自己的address_space 与radix tree
那么一般创建的文件是否会有相应的address_space 与radix tree,我看了代码,似乎一般文件的inode指向的address_space就是
相应super_block的address_space。
address_space是内嵌在inode中做为i_data成员的,如果是一般文件inode的成员i_mapping=&inode.i_data,搜了半天没找到i_data是在哪里被address_space赋值的。
把fs大致看了大概,但是有些细节不是很明白,代码也跟了,结果很不幸跟丢了。
问题:
The core data structure of the page cache is the address_space object, a data structure embedded in the inode object that owns the page
Linux 2.6 makes use of a large set of search trees(radix tree), one for each address_space object.----摘自ulk 3rd
那么这个address_space与radix tree是什么情况下创建呢
我知道super_block会有自己的address_space 与radix tree
那么一般创建的文件是否会有相应的address_space 与radix tree,我看了代码,似乎一般文件的inode指向的address_space就是
相应super_block的address_space。
address_space是内嵌在inode中做为i_data成员的,如果是一般文件inode的成员i_mapping=&inode.i_data,搜了半天没找到i_data是在哪里被address_space赋值的。
|
address_space用于对存在页缓冲和交换缓冲的页进行跟踪和描述,所以只要文件的页进了页缓冲就必然存在对应的address_space结构
|
file system indexing system from linux kernel
|
因为大家都忙着做商业项目养家糊口,做内核不但没钱,而且还可能失业!国内的技术环境就是这么残酷。
|
楼上讲的有点道理啊。