前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【系统架构设计师】计算机组成与体系结构 ⑦ ( 磁盘管理 | “ 磁盘 “ 优化分布存储 - 优化 逻辑记录 在 磁道 中 存储分布 | 逻辑记录 在 磁道 中 顺序存储 / 优化存储 分析 )

【系统架构设计师】计算机组成与体系结构 ⑦ ( 磁盘管理 | “ 磁盘 “ 优化分布存储 - 优化 逻辑记录 在 磁道 中 存储分布 | 逻辑记录 在 磁道 中 顺序存储 / 优化存储 分析 )

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

一、" 磁盘 " 优化分布存储 - 优化 逻辑记录 在 磁道 中 存储分布


1、磁盘优化分布存储 - 案例分析

磁盘 中的 磁道 , 每个磁道 分成了 11 个 物理块 , 每个 物理块 存放 1 个逻辑记录 R , 分别是

R_0

~

R_{10}

11 个 逻辑记录 ;

磁盘的 旋转周期 是 33 ms , 磁头 开始时 处于

R_0

逻辑记录位置 ;

系统 使用 单缓冲区 顺序处理 逻辑记录 , 处理一个 逻辑记录 时间为 3 ms ;

处理 磁道 上的 11 个 顺序存放 的 逻辑记录 需要耗时多少 ?

处理 磁道 上的 11 个 优化分布后 存放的 逻辑记录 , 需要耗时多少 ;

2、逻辑记录 在 磁道 中 顺序存储 分析

下图 是 磁盘 中的 磁道 , 每个磁道 分成了 11 个 物理块 , 每个 物理块 存放 1 个逻辑记录 R , 分别是

R_0

~

R_{10}

11 个 逻辑记录 ;

逻辑记录 在 磁道 上 连续存放 ,

逻辑记录 也 按照顺序 进行 顺序处理 ,

磁头 初始状态 下 位于

R_0

逻辑记录 起始位置 ,

开始读取后 , 首先读取

R_0

逻辑记录 , 首先将

R_0

逻辑记录 数据块 , 读取到 单缓冲区 区域中 , 磁头 从

R_0

逻辑记录 的 起始位置 滑动到 结束位置 时 ,

R_0

逻辑记录 数据块 读取完毕 ,

磁盘旋转 周期 是 33 ms , 磁道分 11 个区域 , 则每滑动 1 个区域 , 消耗的时间是 3 ms , 也就是 磁头 从

R_0

逻辑记录 的 起始位置 滑动到 结束位置 , 花费的时间是 3 ms , 如下图所示 ,

磁盘旋转 3ms 的期间 , 磁头 将 磁道 中的数据 读取到了 缓冲区 中 ,

磁盘缓冲区互斥性说明 :

这里注意 , 磁盘单缓冲区 的 情况下 , 只有一个 磁盘缓冲区 ,

单缓冲区 同一个时刻 , 只有一个进程 可以使用该 磁盘缓冲区 ,

磁盘缓冲区 必须 完整的处理完一个 逻辑记录 后 , 才能 释放该 磁盘缓冲区 , 用于其它操作 , 完整操作是 :

  • 磁盘缓冲区 数据写入 : 将 逻辑记录 读取到 磁盘缓冲区 中 ;
  • 磁盘缓冲区 数据处理 : CPU 处理 磁盘缓冲区 中的数据 , 传输到内存中 ;

逻辑记录

R_0

必须处理完毕 , 传输数据到 内存 之后 , 才能将 磁盘缓冲区释放 , 读取下面的

R_1

逻辑记录 , 或 给其他 应用进程使用 ;

磁盘缓冲区 数据处理 需要的时间 也是 3 ms ;

磁盘 一直在不停地旋转 , 上面 磁盘缓冲区 数据处理 的 3 ms 过程中 , 磁盘也在旋转 ,

3 ms 的时间 , 正好将 逻辑记录

R_1

划过去了 , 磁盘 旋转 3ms 后 , 磁头位置处于 逻辑记录

R_1

的结束位置 ,

如果想要 再次 读取

R_1

逻辑记录 , 需要等 磁盘 旋转到 第二圈 才能读取 逻辑记录

R_1

中的数据 ;

下图的 蓝色箭头 的 行程 , 就是 转动一圈后 , 在第二圈 磁头 到了

R_1

逻辑记录 起始位置时 , 才能开始读取

R_1

的数据 ;

同理 ,

R_1

逻辑记录 读取完后 , 又要花费 3 ms 时间 处理数据 , 此时 磁头已经滑到了

R_2

的结尾 , 把

R_2

逻辑记录 区域完美错过 , 又要等到第三圈 ;

磁盘 旋转 第一圈 , 只读取了

R_0

逻辑记录 数据 ; 磁盘 旋转 第二圈 , 只读取了

R_1

逻辑记录 数据 ; 磁盘 旋转 第三圈 , 只读取了

R_2

逻辑记录 数据 ;

如果要将

R_0

~

R_{10}

11 个 逻辑记录 都读取完 , 则 需要磁盘 转 11 圈 , 才能读取完毕 ;

注意 , 最后一圈 磁盘旋转完毕后 , 还要多出 3 ms 时间 , 用于最后一个 逻辑记录 数据处理 ;

读取 11 个 逻辑记录 耗时 :

11 \times 33 + 3 = 363 + 3 = 366

ms

3、逻辑记录 在 磁道 中 优化存储 分析

在 磁道 中 , 对 逻辑记录 在 磁道 中 存储分布 进行优化 ;

读取完

R_0

数据后 , 需要有 3 ms 时间进行 数据处理 , 在这 3 ms 时间正好能旋转过一个 逻辑记录 ,

R_1

逻辑记录 放在 第 3 个位置 ,

R_2

逻辑记录 放在第 5 个位置 ;

R_n

逻辑记录 放在

2 \times n + 1

位置 ;

如下图 右侧的 磁道 逻辑记录数据 分布 :

对 逻辑记录 在 磁道 中 存储分布 进行优化 后 :

R_0

逻辑记录 读取 花费 3 ms , 处理花费 3 ms ,

此时 , 磁头 旋转到

R_1

位置 , 读取 花费 3 ms , 处理花费 3 ms ,

此时 , 磁头 旋转到

R_2

位置 , 读取 花费 3 ms , 处理花费 3 ms ,

磁头 旋转到

R_5

位置 , 读取 花费 3 ms , 此时正好 旋转完一圈 , 再花费 3 ms 处理数据 , 把

R_0

错过 ,

此时 , 磁头 旋转到

R_6

位置 , 读取 花费 3 ms , 处理花费 3 ms ,

磁头 旋转到

R_{10}

位置 , 读取 花费 3 ms , 磁头 滑动到

R_{10}

结束位置 ,

R_5

开始位置 , 处理花费 3 ms ,

此时 磁头正好 滑动到

R_0

逻辑记录 开始位置 ,

至此 , 正好 磁盘 旋转了 2 圈 , 数据 读取 并 处理完毕 ;

上述过程 耗时 :

33 \times 2 = 66

ms ;

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、" 磁盘 " 优化分布存储 - 优化 逻辑记录 在 磁道 中 存储分布
    • 1、磁盘优化分布存储 - 案例分析
      • 2、逻辑记录 在 磁道 中 顺序存储 分析
        • 3、逻辑记录 在 磁道 中 优化存储 分析
        相关产品与服务
        对象存储
        对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档