.
最½一次的读取时间
(atime)
.
最½修改的时间
(mtime)
.
定义文件特性的旗标
(flag)
,如
SetUID...
.
该文件真正内容的指向
(pointer)
inode
的数量与大小也是在格式化时就已经固定了,除此之外
inode
还有些什么特色呢?
.
每个
inode
大小均固定为
128 bytes (
新的
ext4
xfs
可设定到
256 bytes)
.
每个文件都½会占用一个
inode
而已;
.
承上,因此文件系统能够½立的文件数量与
inode
的数量有关;
.
系统读取文件时需要先找到
inode
,并分析
inode
所记录的权限与用户是否符合,若符合才能够开始实际
读取
block
的内容。
我们约略来分析一下
EXT2
inode / block
与文件大小的关系好了。
inode
要记录的数据非常多,
但偏偏又只有
128bytes
而已,
inode
记录一个
block
号码要花掉
4byte
,假设我一个文件有
400MB
且每个
block
4K
时,
那么至少也要十万笔
block
号码的记录呢!
inode
哪有这么多可
记录的信息?为此我们的系统很聪明的½
inode
记录
block
号码的区域定义为
12
个直½,一个间½
,
一个双间½与一个三间½记录区。这是啥?我们½
inode
的½构画一下好了。
7.1.4
inode
½构示意图
上图最左边为
inode
本身
(128 bytes)
,里面有
12
个直½指向
block
号码的对照,这
12
笔记录就
能够直½取得
block
号码啦!
至于所谓的间½就是
再拿一个
block
来当作记录
block
号码的记录
区,如果文件太大时,
就会使用间½的
block
来记录编号。
如上图
7.1.4
当中间½只是拿一个
block
来记录额外的号码而已。
同理,如果文件持续长大,那么就会利用所谓的双间½,第一个
block
½
再指出下一个记录编号的
block
在哪里,
实际记录的在第二个
block
当中。依此类推,三间½就是
利用第三层
block
来记录编号啦!