目录
硬盘的结构
构建存储抽象
数据读写物理原理
硬盘的结构
盘片
硬盘可以只有一个盘片(这称为单碟),也可能有好几个盘片。它们都串在同一个轴上,由电动机带动着一起高速旋转。
磁头
每个盘片都有两个磁头(Head),上面一个,下面一个,所以经常用磁头来指代盘面。磁头都有编号,第 1 个盘片,上面的磁头编号为 0,下面的磁头编号为 1;第 2 个盘片,上面的磁头编号为 2,下面的磁头编号为 3,依次类推。
磁道
每个磁头不是单独移动的。相反,它们都通过磁头臂固定在同一个支架上,由步进电动机带动着一起在盘片的中心和边缘之间来回移动。也就是说,它们是同进退的。步进电动机由脉冲驱动,每次可以旋转一个固定的角度,即可以步进一次。可以想象,当盘片高速旋转时,磁头每步进一次,都会从它所在的位置开始,绕着圆心“画”出一个看不见的圆圈,这就是磁道(Track)。
柱面
磁道是数据记录的轨迹。因为所有磁头都是联动的,故每个盘面上的同一条磁道又可以形成一个虚拟的圆柱,称为柱面(Cylinder)。
扇区
磁道还要进一步划分为扇区(Sector)。磁道很窄,也看不见,但在想象中,它仍呈带状,占有一定的宽度。将它划分许多分段之后,每一部分都呈扇形,这就是扇区的由来。
扇区的结构
扇区与扇区之间以间隙(空白)间隔开来,每个扇区以扇区头开始,然后是 512 个字节的数据区。扇区头包含了每个扇区自己的信息,主要有本扇区的磁道号、磁头号和扇区号,用来供硬盘定位机构使用。现代的硬盘还会在扇区头部包括一个指示扇区是否健康的标志,以及用来替换该扇区的扇区地址。用于替换扇区的,是一些保留和隐藏的磁道。
构建存储抽象
寻址
硬盘存储的原子单位为扇区,扇区的位置由一下三个参数唯一确定:
1. 磁道号。
2. 磁头号。
3. 扇区号。
磁道号确定了一个柱面,磁头号进一步确定了扇区在柱面的哪个层,扇区号确定了在那个层的什么位置,和公寓楼户主定位类似。
存储方式
柱面是一个用来优化数据读写的概念。初看起来,用硬盘来记录数据时,应该先将一个盘面填满后,再填写另一个盘面。实际上,移动磁头是一个机械动作,看似很快,但对处理器来说,却很漫长,这就是寻道时间。为了加速数据在硬盘上的读写,最好的办法就是尽量不移动磁头。这样,当 0 面的磁道不足以容纳要写入的数据时,应当把剩余的部分写在 1 面的同一磁道上。如果还写不下,那就继续把剩余的部分写在 2 面的同一磁道上。换句话说,在硬盘上,数据的访问是以柱面来组织的。
数据读写物理原理
读取
硬盘盘片表面有着一些磁性物质,在高速旋转时会发生电磁感应,然后被其他硬件电路处理,最后形成数字电路抽象下的1、0数据。
写入
通过施加较强电磁作用改写盘片磁性物质的磁性从而改写数据。
参考资料
x86汇编语言-从实模式到保护模式
来源:https://www.cnblogs.com/ycc1997/p/12370363.html