1.Ext文件系统原理、链接文件

可以是一个格式化之后的分区,或是格式化之后的逻辑卷等等,只要可以挂载。

既然inode只有有限字节,又要保存文件权限属性信息,如何存储那么多的block号?
inode只有一部分字节直接存储文件数据的block号。其他字节可以间接记录,即存储一个block号,在该block中再存储文件数据的block号;如仍不够,可使用二间接、三间接。
在Ext2中,使用的是48字节(Ext2、3中,使用4字节直接保存一个block号,Ext4使用8字节)直接保存数据的block号,其他用1个间接、1个二间接、1个三间接保存。

所以应根据实际需要确定block的大小,若是众多的很小的文件,则block使用1K即可,以避免浪费的空间过多;若是存大文件,则block使用4K,否则使用小的会造成占用的inode和block数量过多,不利于读写。

如果目录“/boot”作为一个文件系统的挂载点,那么系统也应该是通过挂载的信息知道其inode号,而不是通过“/boot”的上一级目录(即根目录)内容保存的文件名与inode号。因为不同文件系统inode号与block号是各自独立的。

应时常注意根文件系统的使用率,不要满了。

实际上,因为文件“a”与软链接“a_link”都在/root目录下,所以若工作目录在/root目录,创建该软链接时可直接使用命令[root@localhost ~]# ln -s a a_link,这样创建出的链接文件“a_link”大小为1字节,即以相对路径保存文件名。
不过显然,即便是以相对路径保存,系统在访问该软连接时仍可知道文件“a”的绝对路径的文件名,然后一级一级找到文件“a”。所以这不会影响下图所展示的软链接访问过程。
但是若以相对路径创建的软链接,是无法移动到其他目录的,否则就会找不到目标文件,这也容易理解。

inode对应表、块对应表,如果太大了,查找过程还是会耗时。所以用块组,各块组有各自的inode对应表、块对应表等。

文章目录


#1.文件系统概念

  • 格式化
    每种操作系统所设置的文件属性、权限不同,磁盘分区后需格式化,变为操作系统可以利用的文件系统格式。
  • 文件系统
    一个可被挂载的数据1称为一个文件系统。
    #2.索引式文件系统
    ##2.1 superblock、inode、block
    操作系统上的文件数据,一般除了实际内容外,还包含属性、权限。如linux上的文件的权限(rwx)、属性(属主属组时间戳等)。

索引式文件系统通常会把文件实际内容和文件权限属性,分别存放在不同的磁盘块。

文件权限与属性存放在inode中;实际内容存放在data block块(简称block)中;每个文件系统还有一个超级块(superblock)。每个inode和block都有编号不同文件系统inode、block编号是独立的。inode和block在格式化后不再变动,除非重新格式化或文件系统大小变动。

  • superblock
    记录此文件系统的整体信息,如inode、block的总量、使用量、剩余量,文件系统的格式等。
    superblock非常重要,一旦损坏整个文件系统无法使用。
  • inode
    记录文件的属性、权限、时间戳等元数据信息;
    记录文件的实际数据所在的block号码;
    一个文件有且仅占用一个inode。
  • block
    记录文件实际数据,文件过大时会占用多个block;
    磁盘上的最小存取单位也正是block。
    ##2.2 读取文件
    由于inode记录了文件数据所存放的block的号码,所以只要找到一个文件的inode即可读出其内容,类似图书馆的索引和书架,如图示:
    这里写图片描述
    文件系统格式化出inode和block后,如果某文件的权限属性存放在inode3,并且inode3记录了存放实际内容的block编号1、6、8,则操作系统只要找到inode3即可读出文件全部内容。

#3.Ext系列文件系统
##3.1 Ext文件系统结构
linux的Ext系列文件系统就是一种索引式文件系统。

当inode与block过多时,为便于管理,Ext文件系统在格式化时,把一个文件系统划分为了多个块组(block group)2,以便于管理。因为每个文件系统只有一个superblock且非常重要,所以superblock会在若干个不同块组的前端多次存储,防止因某superblock损坏影响使用。
注意,划分为块组只是为了管理方便,各块组内部的inode、block号等,并不是独立的,仍是按同一个文件系统的方式,依次编号。这一点可从命令dumpe2fs的结果看出。

Ext文件系统最前端,有一个启动扇区(boot sector),可安装引导程序(bootloader),从而制作出多重引导环境(安装不同操作系统),而不用覆盖整块磁盘唯一的MBR。

所以Ext文件系统总体结构如下:
这里写图片描述

每个块组结构如下:
这里写图片描述

  • superblock
    superblock记录的信息主要有:

    • inode与block的总量;
    • 已使用和未使用的inode、block数量;
    • block与inode的大小。block大小只能是1K、2K或4K,inode大小为128字节或256字节(ext4)&
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值