前言:通过对基础IO的学习,可以知道:文件描述符用于标识已经打开的文件,通过数组数组下标来建立映射关系,而这个数组是一个指针数组,每个文件都有一个file对象,内部保存了文件相关的inode等其他信息。
inode_number用于寻找该文件存储在磁盘或者硬盘的文件信息和数据。
1.硬件基础
1.1 理解什么是柱面、磁道、磁头、扇区
磁道:完整的一圈被称为磁道
扇区:图中黑色部分称为扇区 注:即使长短不同,但是实际扇区A、B、C的大小都为512B
扇区是存储数据的基本单位
柱面:磁盘是分布如图所示,而柱面是垂直方向上,所有磁道构成的面,有多少磁道,就有多少柱面
磁头:磁盘一般有上下两个面,每个面对应一个磁头,那么一个磁盘共有两个磁头
1.2 LBA地址
我们可以把每个磁道拉直,这样就抽象成了一个数组,每个扇区对应有着自己的地址(其实是数组下标),这种地址叫做LBA
某扇区的LBA = 它所在的柱面号 * 单个柱面的扇区总数 + 它所在的磁头号*每磁道扇区数 + 扇区号S - 1