文件系统简介

文件系统狭义的概念是一种对存储设备上的数据进行组织和控制的机制

存储文件时系统将磁盘分成若干个块(Block),每个Block的大小已经由系统指定,一般是4096字节,即8个扇区。也就是说将8个扇区作为一个单位进行管理。为了管理方便,称磁盘的第一个Block为Boot Block,即启动块,用来记录当前磁盘分了几个区,还记录了每个区的起始位置以及每个区上的操作系统,此Block的大小为1024字节。由于磁盘中的扇区大小为512字节,所以每个Block的大小必须是512字节的整数倍。

使用命令stat 文件名来查看Block的大小

Boot Block之后的Block由ext2文件系统接管。此时1个Block=4096Bytes=8扇区,1扇区=512Bytes,1Block=32768bit。系统管理Block时会分成group进行管理。

         块(Block)是文件系统中存储的最小单位。启动块的大小是由PC标准规定的1KB,用来存储磁盘分区信息和启动信息,任何文件系统都不能使用启动块。启动块之后的各个块才是ext2文件系统的开始,ext2文件系统将整个分区划分成若干个同样大小的块组(Block Group),每个块组都由以下几个部分组成:

         Super Block:超级块,描述整个分区的文件系统信息,包括块的大小、文件系统的版本号以及上次mount的时间等等。每个块组的开头都有一个Super Block,即超级块在每个块组的开头都有一份拷贝。需要注意的是,一旦超级块意外损坏就会丢失整个分区的数据,这也是它有多份拷贝的原因。

         GDT(Group Descriptor Table):块组描述符表,若干块组描述符组成块组描述符表,整个分区分成多少个块组就对应有多少个块组描述符。每个块组描述符存储一个块组的描述信息,包括这个块组从哪里开始是inode表,从哪里开始是数据块,空闲的inode和数据块还有多少个等等信息。和超级块类似,一旦块组描述符意外损坏就会丢失整个块组的数据,因此它有多份拷贝。

         Block Bitmap:块位图,用来描述整个块组中哪些块已经使用,哪些块处于空闲状态,它本身占一个块,其中的每个bit代表本块组中的一个块,bit为1表示该块已经被使用,bit为0表示该块处于空闲。

         inode Bitmap:inode位图,和块位图类似,本身占一个块,其中每个bit表示一个inode是否可用。

         inode Table:inode表,由若干个inode组成,每个inode占128个字节,存储的信息包括文件属性和数据指针,数据指针指向数据块(Data Block)部分,大小为60字节。

         Data Block:数据块,根据不同的文件类型有以下几种情况:

         常规文件:文件的数据存储在数据库中

         目录文件:该目录下的所有文件名和目录名存储在数据库中。

         符号链接:如果目标路径名较短则直接保存在inode中以便更快地查找,如果目标路径名较长则分配一个数据块来保存。

         设备文件、FIFO和socket等特殊文件没有数据块,设备文件的主设备号和次设备号保存在inode中。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值