前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【系统架构设计师】计算机组成与体系结构 ⑧ ( 磁盘管理 | “ 磁盘 “ 缓冲区 | “ 磁盘 “ 缓冲区 概念 和 作用 | “ 磁盘 “ 缓冲区 读取数据 / 写出数据 流程 )

【系统架构设计师】计算机组成与体系结构 ⑧ ( 磁盘管理 | “ 磁盘 “ 缓冲区 | “ 磁盘 “ 缓冲区 概念 和 作用 | “ 磁盘 “ 缓冲区 读取数据 / 写出数据 流程 )

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

一、" 磁盘 " 缓冲区简介


1、" 磁盘 " 缓冲区 概念

磁盘缓冲区 Disk Buffer 位于 磁盘 和 内存 之间的 数据缓冲区 , 其作用是 优化 数据读取 和 数据写入 速度 ;

磁盘缓冲区 通常由 DRAM ( Dynamic Random Access Memory , 动态随机存储器 ) 组成 , 与 内存一致 ;

磁盘缓冲区 一般都是 内存的一部分 , 主内存中的 这部分内存 被分配给磁盘缓冲区 , 用于临时存储 从磁盘读取 或 写入到磁盘 的数据块 ;

2、" 磁盘 " 缓冲区 作用

" 磁盘 " 缓冲区 作用 :

  • 提高 读取效率 : 磁盘缓冲区 可以 将 磁盘数据 更快地 从磁盘传输到主内存 , DRAM 的读写速度远高于磁盘的读取速度 , 磁盘数据先传输到 磁盘缓冲区 中 , 然后再通过CPU读取 , 可大幅度减少读取操作的等待时间 ;
  • 提高 CPU 性能 : CPU在读取数据时 , 不需要 等待 磁盘数据 , 将数据从 磁盘 传输到 主内存的 磁盘缓冲区 , CPU 直接从 磁盘缓冲区 中读取数据 , 这样可以让 CPU 更加高效地执行其他任务 , 而不会被 磁盘的访问速度 限制性能 ;
  • 提高 数据访问效率 : 磁盘缓冲区可以 优化数据 的 访问顺序 , 频繁访问的数据保留在缓冲区中 , 从而 减少 磁盘 寻道时间 和 旋转延时 ;

3、" 磁盘 " 缓冲区 读取数据 流程

" 磁盘 " 缓冲区 读取数据 过程 :

  • 数据读取请求 : 操作系统 或 应用程序 需要从 磁盘中读取数据 时 , 发出 数据读取请求 ;
  • 寻道和等待时间 : 磁盘控制器 收到 磁盘数据 读取请求 , 将请求 转发给 磁盘驱动器 , 先 将 磁头定位到 目标磁道 的 目标扇区 ; 磁头 先进行 寻道操作 找到指定的 磁道 , 然后 等待 磁盘旋转 将 指定扇区 旋转到 磁头下 ;
    • 寻道时间 : 磁头移动到目标磁道的时间 , 通过磁盘控制器进行控制 , 使磁头快速移动到目标磁道位置 ;
    • 旋转延时 : 磁盘等待目标扇区旋转到磁头下方的时间 , 该事件是由 磁盘的转速 决定 , 转速越高 旋转延时 越低 ;
  • 数据传输到缓冲区 : 磁头定 位到 目标磁道 的 目标扇区 后 , 磁盘控制器 会从 磁盘上 读取 数据块 , 暂时存放在 " 磁盘缓冲区 " 中 ;
    • 磁盘控制器 利用 DRAM 缓冲区 的高速存储能力 , 以较快的速度读取数据 ;
    • 磁盘缓冲区 本质 就是 内存 的一部分 ;
  • CPU 读取缓冲区内容 : 数据 传输到 磁盘缓冲区 , 磁盘缓冲区 本质 就是 内存的一部分 , CPU 可以直接从 内存 也就是 磁盘缓冲区 中读取数据 ;
    • 这样 避免了 CPU 直接操作磁盘 , 导致 CPU 长时间等待磁盘数据 , 以及 CPU 的运算性能的浪费 ;

4、" 磁盘 " 缓冲区 写出数据 流程

" 磁盘 " 缓冲区 写出数据 过程 :

  • 数据准备 : 应用程序 将 数据在 内存 中准备好 , 此时 数据还在 内存 中 的 堆内存 或 栈内存 中 ;
  • 数据从 内存 写入 磁盘缓冲区 : 将 数据 传输到 内存 中的 磁盘缓冲区 中 ;
    • 相当于 从 内存的 堆内存 中 , 传输到 内存的另一部分 磁盘缓冲区 中 ;
  • 从 磁盘缓冲区 写出 到 磁盘 : 数据到达磁盘缓冲区 , 磁盘控制器 开始将数据写入 磁盘 ;
    • 命令传递 : 磁盘控制器向磁盘发送 写入数据 的命令 , 指定要写入的磁盘扇区的位置 ;
    • 数据传输 : 数据从 磁盘缓冲区 传输到 磁盘的指定扇区 中 , 磁盘控制器 需要确保 数据 按照正确的顺序写入 , 并且保证数据的一致性 ;
    • 确认写入 : 数据写入磁盘成功后 , 磁盘控制器 通常会向 操作系统 发送确认信号 , 表示写入操作已经完成 ;
  • 缓冲区释放 : 数据 从 磁盘缓冲区 写出数据 到 磁盘 完成后 , 磁盘缓冲区 中的对应区域 需要被标记为 释放 , 可继续进行其它工作 ;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-07-14,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、" 磁盘 " 缓冲区简介
    • 1、" 磁盘 " 缓冲区 概念
      • 2、" 磁盘 " 缓冲区 作用
        • 3、" 磁盘 " 缓冲区 读取数据 流程
          • 4、" 磁盘 " 缓冲区 写出数据 流程
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档