问几个关于linux inode的问题

7 views
Skip to first unread message

kaifeng jin

unread,
Apr 19, 2012, 9:35:47 PM4/19/12
to sh...@googlegroups.com
关于inode,我目前的理解是,当需要对一个文件进行操作时,首先得到这个文件的inode number,然后通过inode number在一个叫inode-table的表中查找到这个文件的相关信息,以及在磁盘的存储位置。我想问:
1.怎么得到这个inode number的?我知道ls -i可以看到,那具体操作系统是从哪里得到inode number的?
2.inode-table是存在什么地方,操作系统是什么时候把它读到内存里?一个文件系统有几张这种表,还是只有一张

--
twitter:@zybest
新浪微博:@爱子悦
在openshift上搭建wordpress:http://blog-mking.rhcloud.com/ 

kernel

unread,
Apr 21, 2012, 3:46:23 AM4/21/12
to sh...@googlegroups.com


额,还是说说你想干什么吧
Sent from my galaxy nexus.

Xunzhen Quan

unread,
Apr 21, 2012, 4:12:35 AM4/21/12
to sh...@googlegroups.com
这些涉及到了操作系统底层文件系统相关的数据结构,正常的操作并不需要涉及这些。如果你探究到这种层次了你可以直接去看 Linux Kernel 的代码中相应的部分。

2012/4/20 kaifeng jin <jkf...@gmail.com>

Xiangfu Liu

unread,
Apr 23, 2012, 12:26:50 AM4/23/12
to sh...@googlegroups.com, kaifeng jin
On 04/20/2012 09:35 AM, kaifeng jin wrote:
> 关于inode,我目前的理解是,当需要对一个文件进行操作时,首先得到这个文件的inode number,然后通过inode number在

当然是先得到这个文件的“文件名”,

> 一个叫inode-table的表中查找到这个文件的相关信息,以及在磁盘的存储位置。我想问: 1.怎么得到这个inode number的?我

通过目录的 inode 和 block. 再得到 inode number

> 知道ls -i可以看到,那具体操作系统是从哪里得到inode number的? 2.inode-table是存在什么地方,操作系统是什么时
> 候把它读到内存里?一个文件系统有几张这种表,还是只有一张

存在硬盘上相应的 BLOCK GROUP 里。我不知道什么时候读到内存里,有多少个 BLOCK GROUP 就有多少个 inode table.
这个可以从 superblock 里读出来。

Xiangfu
>

Reply all
Reply to author
Forward
0 new messages