6.文件系统、类型、打开与关闭、内核结构、描述符、读写

文件系统

硬盘的物理结构

磁盘的读写原理

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 节点很容易找到,所以找文件名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值