文件系统

来源:互联网 发布:丛云牙 知乎 编辑:程序博客网 时间:2024/06/15 15:31

文件系统重要的部分有inode/block/superblock。


                                               图1 ext2档案系统示意图

档案系统最前面有一个开机磁区(boot sector),这个开机磁区可以安装开机管理程序。
基本上,inode 记录的档案资料至少有底下这些
1) 该档案的存取模式(read/write/excute);
2) 该档案的拥有者与群组(owner/group);
3) 该档案的容量;
4) 该档案建立或状态改变的时间(ctime);
5) 最近一次的读取时间(atime);
6) 最近修改的时间(mtime);
7) 定义档案特性的旗标(flag),如 SetUID...;
8) 该档案真正内容的指向 (pointer);
inode 的数量与大小也是在格式化时就已经固定了,除此之外 inode 还有些什么特色呢?
1) 每个 inode 大小均固定为 128 bytes; 
2) 每个档案都仅会占用一个 inode 而已; 
3) 档案系统能够建立的档案数量与 inode 的数量有关; 
4) 系统读取档案时需要先找到 inode,并分析 inode 所记录的权限与使用者是否符合,若符合才能够开始实际读取 block 的内容。
block
为实际记录文件内容的数据区域。
对文件来说,保存的是文件中的内容。对于目录来说,保存则是目录下的文件名及相应的inode。只有先通过目录,找到对于文件的inode才能查看到里面的信息。

Superblock (超级区块)
Superblock 是记录整个 filesystem 相关资讯的地方, 没有 Superblock ,就没有这个 filesystem 了。他记录的资讯主要有:
1) block 与 inode 的总量; 
2) 未使用与已使用的 inode / block 数量; 
3) block 与 inode 的大小 (block 为 1, 2, 4K,inode 为 128 bytes); 
4) filesystem 的挂载时间、最近一次写入资料的时间、最近一次检验磁碟 (fsck) 的时间等档案系统的相关资讯; 
5) 一个 valid bit 数值,若此档案系统已被挂载,则 valid bit 为 0 ,若未被挂载,则 valid bit 为 1 。 
Superblock 是非常重要的,因为我们这个档案系统的基本资讯都写在这里,因此,如果 superblock 死掉了, 你的档案系统可能就需要花费很多时间去挽救啦!一般来说, superblock 的大小为 1024bytes。
其它区块:
1)Group Description:纪录此 block 由由何处开始记录;  
2)Block bitmap:此处记录那个 block 有没有被使用;  
3)Inode bitmap:此处记录那个 inode 有没有被使用;  
4)Inode table:为每个 inode 数据存放区;  
5)Data Blocks:为每个 block 数据存放区。


原创粉丝点击