文件系统
硬盘的物理结构
磁盘的读写原理
1.硬盘片的表面覆盖着薄薄的磁性涂层,涂层中含有无数微小的磁性颗粒,谓之磁畴
2.相邻的若干磁畴组成一个磁性存储元,以其剩磁的极性表示二进制0和1
3.以磁头的写线圈施加脉冲电流,可把一位二进制数字转换为磁性存储元的剩磁极性
4.利用磁电变换,通过磁头的读线圈,可将磁性存储元的剩磁极性转换为相应的电信号,表示二进制数
磁盘和扇区
1.磁盘旋转,磁头固定,每个磁头都会在盘片表面划出一个圆形轨迹。改变磁头的位置,可以形成若干大小不等的同心圆,这些同心圆就叫做磁道(Track)
2.每张盘片的每个面上都有成千上万个磁道,一个磁道,按照512字节等分,其中每个等分叫做扇区(Sector)
3.扇区是最基本的文件存储单位
4.每个磁道所包含的扇区数并不相等,越靠近外圈的磁道所包含的扇区越多
柱面、柱面组、分区和磁盘驱动器
1.硬盘中,不同盘片相同半径的磁道所组成的圆柱称为柱面(Cylinder)。整个硬盘的柱面数与每张盘片的磁道数相等
2.硬盘中的每个扇区可由以下三个坐标唯─确定
磁头号:确定哪张盘面(一张盘片有两个盘面各对应一个磁头)
柱面号:确定那条磁道
扇区号:确定哪个区域
3.若干连续的柱面构成一个柱面组>
4.若干连续的柱面组构成一个分区
5.每个分区都建有独立的文件系统
6.若干个分区构成一个磁盘驱动器
文件系统逻辑结构
一个磁盘驱动器被划分成一到多个分区,其中每个分区上都建有独立的 文件系统,每个文件系统包括
引导快:计算机加电启动时,ROM BIOS从这里读取可执行代码和数据,以完成操作系统自举。
超级块:记录文件系统的整体信息,如文件系统的格式和大小,i 节点和数据块的总量、使用量和剩余量等等
若干柱面组,其中每个柱面组包括
超级副本:同上
柱面组信息:柱面组的整体描述
i 节点映射表: i 节点号与 i 节点磁盘位置的对应表,帮助快速在磁盘上找到 i 节点位置
块位图:位图中的每个二进制对应一个数据块,用1和0表示该块处于占用或是空闲状态
i 节点表:包含若干 i 节点,记录文件的元数据(属性信息)和数据块索引表(数据块编号)
数据块集:包含若干数据块,存储文件的内容数据
i 节点,即索引节点(index node,inode)
一个文件名对应一个 i 节点,但是一个 i 节点却可以对应多个文件名(硬链接)
1.磁盘中的每个文件或目录都有唯一的一个 i 节点与之对应
2.每个 i 节点都有唯一的编号即 i 节点号,通过 i 节点映射表可以查到与每个 i 节点号相对应的 i 节点在磁盘上的存储位置
3.文件名和 i 节点号的对应关系记录在该文件所在目录的目录文件中,目录文件中的一条这样的记录就是一个硬链接
目录存储内部存储的文件名和 i 节点对应关系
4.ls -i 命令可以查看文件的 i 节点号
i 节点的具体内容包括:
文件类型和权限
文件的硬链接数
文件的用户和组
文件的字节大小
文件的最后访问时间、最后修改时间和最后状态改变时间
文件数据块索引表
数据块(data block),512/1024/4096字节
直接块:存储文件的实际内容数据
文件块: 存储普通文件的内容数据
目录块:存储目录文件的内容数据
间接块:存储下级文件数据块索引表
通过 i 节点索引数据块
文件访问流程
针对给定的文件名,从其所在目录中可以得到与之对应的 i 节点号,再通过 i 节点映射表可以查到该 i 节点在磁盘上的具体位置,读取 i 节点信息并从中找到数据块索引,进而找到相应的数据块,最终获得文件的完整内容。
根目录的 i 节点在磁盘上是固定的,可以理解成根目录 i 节点很容易找到,所以找文件名