第11章 EXT2文件系统
EXT2文件系统数据结构:
EXT2文件系统使用一些关键的数据结构来组织文件和目录的存储和访问。以下是EXT2文件系统中常见的数据结构:
-
超级块(Superblock):是文件系统的起始部分,包含关键的元数据,如文件系统的大小、块的数量、inode(索引节点)的数量等信息。
-
块组描述符表(Block Group Descriptor Table):文件系统被分成多个块组,每个块组都有对应的块组描述符表,存储了与块组相关的信息,包括空闲块的数量、空闲inode的数量、块位图、inode位图等。
-
块位图(Block Bitmap):记录每个块的使用状态,用于标识哪些块已被使用和哪些块是空闲的。
-
inode位图(Inode Bitmap):记录每个inode的使用状态,用于标识哪些inode已被使用和哪些inode是空闲的。
-
inode表(Inode Table):存储文件和目录的元数据,包括文件的大小、权限、时间戳等信息。每个文件和目录在inode表中都有对应的inode项。
-
目录项(Directory Entry):在EXT2文件系统中,目录被表示为目录项的集合。每个目录项包含文件名和对应文件或子目录的inode号码。
-
数据块(Data Block):用于实际存储文件的内容。EXT2文件系统使用块的概念,将文件数据分散存储在多个块中。
这些数据结构共同协作,形成EXT2文件系统的组织结构,并提供文件和目录的存储和访问功能。
邮差算法:
邮差算法的步骤如下:
-
如果图是连通图(所有顶点可达),则继续;否则,选择一个顶点作为起点。
-
计算图中每条边的奇度数(与该边连接的顶点的度数为奇数的边),并标记为未访问。
-
如果图中不存在奇度数的边,则说明图已经满足条件,直接返回。
-
在图中找到最小权重的未访问边,将其添加到回路中。
-
更新图中被访问边的顶点的度数,并标记已访问。
-
重复步骤4和步骤5,直到图中所有边都已访问。
-
返回形成的闭合回路。
3级文件系统
挂载算法:操作命令 mount filesys mount_point
它允许文件系统包含其他文件系统作为现有文件系统的一部分
卸载算法:卸载文件系统造作可卸载已挂载的文件系统。它将挂在的文件系统与挂载点分开,其中文件系统可以是虚拟的diak名称或挂载点目录名称
文件保护:在Unix/Linux中,可通过文件索引节点中的权限位实现文件保护
文件锁定:文件锁定机制允许进程对一个文件或多个文件的某些部分设置文件锁,以防止在更新文件时出现竞争条件