前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【系统架构设计师】计算机组成与体系结构 ⑥ ( 磁盘管理 | 磁盘基本结构 | “ 磁盘 “ 的 立体结构 | “ 盘面 “ 的 结构 | 磁盘运行机制 | “ 磁头 “ 的 读取机制 )

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

作者头像
韩曙亮
发布2024-07-14 08:19:44
720
发布2024-07-14 08:19:44
举报
文章被收录于专栏:韩曙亮的移动开发专栏

一、磁盘基本结构


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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-07-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、磁盘基本结构
    • 1、" 磁盘 " 的 立体结构
      • 2、" 盘面 " 的 结构
      • 二、磁盘运行机制
        • 1、" 磁头 " 的 读取机制
          • 2、读写数据的 " 寻道时间 "
            • 3、读写数据的 " 等待时间 "
              • 4、读写数据的 " 存取时间 "
                • 5、磁盘存取时间案例
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档