《信息安全系统设计与实现》学习笔记5

发布时间 2023-10-15 10:51:36作者: ~$~

第十一章 EXT2文件系统

EXT2文件系统数据结构

通过mkfs创建虚拟磁盘

mke2fs [-b blksize -N ninodes] device nblocks

虚拟磁盘布局

  • Block#0:引导块。用来容纳一个引导程序,从磁盘引导操作系统。

超级块

  • Block#1:超级块。用于容纳整个文件系统的信息。
  • 超级块结构中的一些重要字段

块组描述符

  • Block#2:块组描述符块。EXT2将磁盘块分成几个组,每组用一个块组描述符结构体来描述。

块和索引节点位图

  • Block#8:块位图,用来表示某种项的位序列。
  • Block#9:索引节点位图,一个索引节点就是用来代表一个文件的数据结构。

索引节点

  • Block#10:索引(开始)节点
  • i_block[15]数组包含指向文件的磁盘块指针
    • 直接块:i_block[0]-i_block[11]
    • 间接块:i_block[12]
    • 双重间接块:i_block[13]
    • 三重间接块:i_block[14]

数据块

紧跟在索引节点块后面的是文件存储数据块

目录条目

目录包含dir_entry

三级文件系统

挂载算法

  • 挂载操作命令
    mount filesys mount_point
  • 挂载算法

卸载算法

  • 卸载文件系统操作可卸载已挂载的文件系统。它将挂载的文件系统与挂载点分开
  • 卸载算法

交叉挂载点

  • 向下遍历
  • 向上遍历

文件保护

在Unix/Linux中,可通过文件索引节点中的权限位实现文件保护。每个文件的索引节点都有一个i_mode字段,其中下面的9位是权限。9个权限位为: