Linux 磁盘与文件系统管理

上一篇 / 下一篇  2013-03-11 17:48:18 / 个人分类:linux

  • super block:记录整个文件系统的整体信息,包括inode和block的总量、使用量、剩余量,以及文件系统的格式与相关信息等(大小为1024bytes)
  • inode:记录档案的属性,一个档案占用一个inode,同事记录此档案数据所在的block号码
  • block:实际记录档案的内容,若档案太大时,会占用多个block
  • inode的数量和大小也是在格式化时就已经固定了
    • 每个inode大小均固定为128bytes
    • 每个档案都仅会占用一个inode
    • 因此文件系统能够简历的档案数量与inode的数量有关
    • 系统读取档案时需要先找到inode,病分析inode所积累的权限与用户是否符合,若符合才能够开始实际读取block的内容
    • inode记录一个block号码要花掉4byte
    • inode记录block号码的区域定义为12个直接,一个间接,一个双间接与一个三间接记录
  • block bitmap记录的是使用与未使用的block号码
  • inode bitmap记录的是使用与未使用的inode号码
  • 目录:当我们在Linux下的ext2文件系统建立一个目录时,ext2会分配一个inode与至少一块block给该目录,其中inode记录该目录的相关权限与数学,并可记录分配到的那块block号码,而block则是记录在这个目录下的文件名与该文件名占用的inode号码数据
  • 文件:当我们在Linux下的ext2建立一个文件时,ext2会分配一个inode与相对于该文件大小的block数量给该文件
  • inode本身并不记录文件名,文件名的记录是在目录的block当中。因此当我们要读取某个文件时,就务必会经过目录的inode与block,然后才能够找到那个待读取的文件的inode号码,最终才会读到正确的文件的block内的数据
  • 我们想要新增一个文档,此时文件系统的行为是
    • 先确定用户对于欲新增档案的目录是否具有w与x的权限,若有的话才能新增
    • 根据inode bitmap找到没有使用的inode号码,并将新文件的权限/属性写入
    • 根据block bitmap找到没有使用的block号码,并将实际的数据写入block中,且更新inode的block指向数据
    • 将刚刚写入的inode与block数据同步更新inode bitmap与block bitmap,并更新superblock的内容


TAG:

 

评分:0

我来说两句

Open Toolbar