cat userlist

Linux文件系统的三层抽象是什么?

  • 一、磁盘->分区

  • 二、分区->块数组

  • 三、超级块、i-node、数据块

  • 超级块,文件系统中第一个块被称为超级块。这个块存放文件系统本身的结构信息。比如,超级块记录了每个区域的大小,超级块也存放未被使用的磁盘块的信息。
    I-切点表。
  • 超级块的下一个部分就是i-节点表。每个i-节点就是一个对应一个文件/目录的结构,这个结构它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。一个文件系统维护了一个索引节点的数组,每个文件或目录都与索引节点数组中的唯一一个元素对应。系统给每个索引节点分配了一个号码,也就是该节点在数组中的索引号,称为索引节点号
    数据区。
  • 文件系统的第3个部分是数据区。文件的内容保存在这个区域。磁盘上所有块的大小都一样。如果文件包含了超过一个块的内容,则文件内容会存放在多个磁盘块中。一个较大的文件很容易分布上千个独产的磁盘块中。

写出Cat userlist的过程,要详述目录文件,i-node.数据块,要画图示意,假设块大小为4k, userlist的大小不小于10k,自己假设大小

  • 打开,从目录找到userlist
  • 从dentry结构体读出innod
  • 从inode结构体读出i_block[]
  • 按顺序组织i_block[]中的内容,输出到终端
  • 超级块用来存储文件系统本身的信息
  • i-node节点表存放i-node节点,存储文件属性、所有者、权限等元数据信息
  • 数据区分块存储文件数据,它是不连续存储的,一个文件的内容可能散落在数据区内部

posted @ 2022-10-23 17:03  20201224吴卓航  阅读(15)  评论(0)    收藏  举报