inode
inode的内容在记录档案的权限与相关属性,至于block区块则是在记录档案的实际内容。而且文件系统一开始就将inode与block规划好了,除非重新格式化,否则inode与block固定后就不再变动。但是如果仔细考虑一下,如果我的文件系统是高达数百Gb时,那么将inode与block放在一起时很不明智的决定,因为inode与block的数量太庞大,不容易管理。
为此之故,因此EXT2文件系统在格式化的时候基本上时区分为多个区块群组(block group)的,每个区块群组都有独立的inode/block/superblock系统。感觉我们在当兵时,一个 营里面分为几个连,每个连由自己的联络系统,但最终都像营部回报连上最正确的信息一般。这样分成一群群的就比较好管理。
在整体规划中,文件系统最前面有一个启动扇区(boot sector),这个启动扇区可以安装开机管理程序,这是一个非常重要的设计,因为如此以来我们就能够将不同的开机管理程序安装到个别文件系统的最前端,而不用覆盖整颗硬盘唯一的MBR,这样才能够制作出多重引导的环境。
data block
data block是用来放置档案内容的地方,在EXT2文件系统中所支持的block大小由1k,2k以及4k三种而已。在格式化时block的大小就固定了,且每个block都有编号,以方便inode记录。不过要注意的是,由于block的大小由差异,会导致文件系统能够支持的最大磁盘容量与最大单一档案容量并不相同。因此block而产生的EXT2文件系统限制如下:
你需要注意的是,虽然EXT2能够支持2GB以上的单一档案容量,不过某些应用依然使用旧的限制,也就是说,某些程序只能捉到小于2GB以下的档案而已。
除了EXT2文件系统的block还有什么限制呢?
- 原则上,block的大小与数量在格式化完就不能够再改变了(除非重新格式化);
- 每个block最多只能放置一个文件的内容
- 如果档案大于block的大小,则一个档案会占用多个block数量
- 若档案小于block,则block的生于容量就不能够再使用了