linux文件系统原理,superblock超级,inode

 

https://img-my.csdn.net/uploads/201211/05/1352098131_3249.jpg

1、文件系统特性:

      传统的说法:一个分区就是一个文件系统,一个文件系统就是一个硬盘分区。后来由于LVM技术的出现,一个分区可以格式化成多个文件系统,所以现在称呼:一个可以被挂载的数据,就是一个文件系统,而不是一个磁盘分区。

  1. 磁盘格式化的时候,就把文件系统的Boot Sector和Block Groups划分固定好了。
  2. 文件系统组成:
    1. Block Size:格式化后的data block的大小,ext2支持1k,2k,4k,决定了单一文件不大于2T,和最大文件系统容量不大于16TB。
    2. Superblock:记录整个文件系统的整体信息,包括inode与数据块的总量,使用量,剩余量,以及文件系统的格式和相关信息,每个block group中都可能包含了superblock,但是除了第1个Primary superblock有用外,其它的superblock作为第1个superblock的备份,称呼为Backup superblock。
    3. Inode table:格式化后inode的数量和大小就被确定下来,固定大小为128B,新的ext4大小为256B,记录文件读、写、属组、atime,ctime,mtime等,一个文件占用了1个inode,同时记录了该文件所在的区块的号码,一个inode包含了12个直接,1个间接,1个双间接,一个3间接记录区,这些中间区使用的就是data block来记录。
    4. Data Block:实际记录文件的内容,若文件太大时,会占用多个块。
    5. Boot Sector:每个文件系统前面都有一个启动扇区,这个启动扇区可以安全启动引导分区,有这个分区,就不用把覆盖整块磁盘的MBR分区,这样才能支持多重引导的环境。
  3. Block bitmap(块对照表):记录了已经使用和未使用的block的号码。
  4. Inode bitmap(索引对照表):记录了已经使用和未使用的inode的号码。
  5. File system Description:描述block group的开始和结束block号码。
  6. Inode数量计算:(inode table*4k)/256B,4K是Block size的大小,256B是inode size的大小。
  7. 因为每个文件都会占用1个inode,里面记录了文件区块所占用的区块号码,使用如果我们找到inode的话,就可以找到数据了。
  8. 索引式文件系统:如ext2,ext3,首先读取索引4号,然后一口气把2、7,、13、15区块号。
  9. 追加式文件系统:如FAT,先读取索引4号,然后依次读取2->7->13->15,他们没法一口气把这4个数据块读出,只能一个个的依次读出,所以数据不能太离散,离散以后,需要磁盘碎片整理。
  10. 文件存放原则:
    1. 区块的大小与数量,在磁盘格式化的时候就不能再修改了。
    2. 每个区块最多只能存放一个文件的数据。
    3. 如果文件大于区块的大小,则一个文件就会占用多个区块数据。
    4. 若文件太小,这该区块的剩余空间就不能再被使用了(浪费空间)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值