【系统架构设计师】计算机组成与体系结构 ⑥ ( 磁盘管理 | 磁盘基本结构 | “ 磁盘 “ 的 立体结构 | “ 盘面 “ 的 结构 | 磁盘运行机制 | “ 磁头 “ 的 读取机制 )

2024-07-14 08:19:44 浏览数 (2)

一、磁盘基本结构


1、" 磁盘 " 的 立体结构

磁盘 是 冯诺依曼结构 中的 外存 , 也就是 辅助存储器 , 磁盘外接在计算机外部 ;

" 磁盘 " 的 结构是 立体的 , 一个磁盘中有多个 " 盘面 “ , 多个 " 盘面 " 都是绕 ” 轴心 " 进行旋转运动的 , 每个盘面都有一个读写 " 磁头 “ , " 磁头 " 都 连接在 ” 主杆 " 上 ;

  • 盘面 : 磁盘中的 每个 圆形硬盘片 , 由金属或玻璃制成 , 涂有磁性材料 , 数据通过在磁盘表面上形成的磁场变化来存储 ;
  • 轴心 : 支撑盘面旋转的 中心轴线 , 固定在硬盘驱动器的框架上 , 由 主杆 驱动 , 提供扭矩和转速 , 使盘面能够以恒定的速度旋转 ;
  • 主杆 : 位于硬盘 驱动器 内部 , 连接轴心 , 驱动磁盘盘片旋转 ;
  • 磁头 : 又称为 读写磁头 , 位于磁盘驱动器的臂部 , 可以在盘面上移动 , 并且能够精确地定位到特定的磁道和扇区 ;

2、" 盘面 " 的 结构

磁盘 内部有多个 盘面 , 每个盘面是一个圆形的硬盘片 , 可以独立存储数据 ; 每个盘面都有自己的 " 磁道 " 和 " 扇区 " ;

  • 磁道 : 圆形 的路径 , 沿着磁盘表面布置 ; 每个磁道位于特定的半径位置上 , 从磁盘中心到边缘有多个不同半径的磁道 ;
    • 磁道编号 : 由外到内 , 从 0 开始编号 ;
  • 扇区 : 每个磁道 被划分为 多个扇区 , 扇区是存储数据的最小单位 ; 一般扇区大小为 512 字节 ;
    • 扇区编号 : 在每个磁道内部进一步划分的部分 ;

盘面的结构如下 :

二、磁盘运行机制


1、" 磁头 " 的 读取机制

磁盘 运行时 , 会沿着一个方向匀速转动 , 使得磁盘能够 高效地 存储 和 检索 数据 ,

通过 精确控制 磁头的 移动 和 磁盘的旋转 , 磁盘驱动器 可以实现快速的数据访问速度 ,

磁盘的转速是 恒定的 , 用 转每分钟 ( RPM , Revolutions Per Minute ) 表示 ,

常见的 转速 有

  • 5400 RPM
  • 7200 RPM
  • 10000 RPM

" 磁头 " 是负责读取和写入数据的装置 , 位于磁盘驱动器的臂部 , 磁头在读写操作时有 两种 运行方向 :

  • 径向运动 : 查找磁道 , 磁头沿着盘面的半径方向移动 , 从磁盘的 内侧 向 外侧 运动 , 或 从 外侧向内侧运动 ;
  • 圆周运动 : 查找扇区 , 在磁头径向移动到正确的磁道后 , 它可以进行微小的圆周运动 , 以准确定位到正确的扇区位置 ;

2、读写数据的 " 寻道时间 "

磁盘 读取数据时 , 磁头 进行 径向运动 , 查找磁道 ,

磁头沿着盘面的半径方向移动 , 从磁盘的 内侧 向 外侧 运动 , 或 从 外侧向内侧运动 ;

磁头 查找数据 移动到 磁道 所需的时间 , 称为 " 寻道时间 " ;

3、读写数据的 " 等待时间 "

磁盘 是 沿固定方向 , 不停地在转动 ,

磁头 找到 磁道 之后 , 需要 等待 磁盘 匀速转动 , 当 指定的磁道的扇区 位置转动到 磁头下方时 , 才能 开始 进行 圆周运动 , 读取 指定 磁道 的 指定 扇区 的数据 ,

这个等待的过程 , 称为 " 旋转延时 " 或 " 等待时间 " ;

4、读写数据的 " 存取时间 "

读写数据的 " 存取时间 " , 与 " 寻道时间 " 和 " 等待时间 " 之间的关系如下公式所示 :

存取时间 = 寻道时间 等待时间

教科书上定义的 存取时间 , 指的是 磁头 找到 指定数据 的 平均时间 , 软考考试的时候这么做题就行 ;

实际上 , 数据的 " 存取时间 " , 还需要考虑到 " 数据传输时间 " ,

" 数据传输时间 " 就是 实际读取或写入数据的时间 , 取决于数据传输速率和数据块大小 ;

存取时间 = 寻道时间 等待时间 数据传输时间

5、磁盘存取时间案例

磁盘 的 磁头 从 一个磁道 移动到 另一个磁道 需要 10 ms , 这是 相邻 2 个磁道 跨越所需的时间 ,

文件在磁盘上 非连续存放 , ( 表示每个 数据块 的 读取 都是独立的 )

每个 数据块 占用 盘面 10 个磁道 ,

每个数据块 旋转等待延时 为 100 ms ,

每个数据块 的 传输时间 2 ms ,

计算读取 有 100 个数据块的 文件 时间 ;

计算过程如下 :

相邻两个磁道之间跨越 需要消耗 10 ms 时间 , 一个数据块有 10 个磁道 ,

则 一个据块 需要跨越 10 次 磁道 , 寻道时间 消耗为

10 times 10

ms ;

每个数据块 旋转延迟 100ms , 磁头找到扇区后 , 磁头 就不再进行圆周运行 , 因此 读取 一个 数据块 的 旋转延迟只有一次 ,

则 读取一个数据块的时间为 :

10 times 10 100 2

ms

文件在磁盘上 非连续存放 , 这就意味着 每次读取一个文件块 , 都需要有 旋转等待时延 和 寻道时间 , 每个文件块 都是独立读取的 , 不存在节省 寻道时间 和 旋转时延 的情况 ;

读取 有 100 个数据块的 文件 消耗的时间 :

( 10 times 10 100 2 ) times 100 = 20200

ms

0 人点赞