磁盘的顺序读写与随机读写详解

  • 1.磁盘的基本概念
  • 2.磁盘的读写方式
  • 3.磁盘读取时间
  • 4.顺序读写与随机读写
  • 5 参考链接

1.磁盘的基本概念

 盘片与盘面 : 一块硬盘一般有多块盘片,盘片分为上下两面,其中有效面称为盘面(一般上下都有效),盘片数一般与磁头数相等.也就是说:磁头数 = 盘面数 = 盘片数*2
 磁头 : 磁头切换磁道读写数据时通过机械设备实现的,速度较慢;而磁头切换盘面读写数据是通过电子设备实现的,速度较快,因此磁头一般是先读写完柱面后才开始寻道的(不用切换磁道),这样磁盘读写效率更快.

 磁道 : 磁道就是以中间轴为圆心的圆环,盘面有多个磁道,磁道之间有间隙,磁道也就是磁盘存储数据的介质.磁道上布有一层磁介质,通过磁头可以使磁介质的极性转换为操作系统的数据信号(即磁盘的读,磁盘写刚好相反)
 柱面 : 磁盘中不同盘面中半径相同的磁道组成的. 也就是说 柱面数 = 某个盘面的磁道数
 扇区 : 单个磁道就是多个弧形扇区组成的,当然某个盘面上的每个磁道拥有的扇区数量是相等.扇区是硬盘/磁盘的最小存储单元.但不是文件系统的最小存储单元(文件系统的最小存储单元是block,可以人为设定).一般扇区大小为512bytes(最新的硬盘好像可以有4K了)

2.磁盘的读写方式

 文件系统不是一个扇区,一个扇区的来读数据,太慢了,所有有了block(块)的概念,它是一个块一个块的读取的.block才是文件存取的最小单位.
 一个block块中扇区的个数依文件系统而不同,如一个block有8个扇区,那一个block块的大小为4K.

3.磁盘读取时间

寻道时间 : 表示磁头在不同磁道之间移动的时间
旋转延迟 : 表示在磁道找道时,中轴带动盘面旋转到合适的扇区开头处
传输时间 : 表示盘面继续转动,实际读取数据的时间
7200转/min,旋转一周需要8.33ms
寻道约10ms

磁头不动,盘动的过程
磁盘的转速;5400转,7200转,10000转,15000转 每分钟

4.顺序读写与随机读写

 只有顺序写才能保证顺序读
 当读取第一个block时,要经历寻道,旋转延迟,传输三个步骤才能读取完这个block的数据.而对于下一个block,如果它在磁盘的某个位置,访问它会同样经历寻道,旋转,延时,传输才能读取完这个block的数据, 我们把这种方式的IO叫做随机IO.但是如果这个block的起始扇区刚好在我刚才访问的block的后面,磁头就能立刻遇到.不需等待,直接传输.这种IO就叫顺序IO.

5 参考链接

磁盘基本知识与读写原理:
https://blog.csdn.net/rodbate/article/details/50371855
理解IO:随机和顺序
https://blog.csdn.net/BaiWfg2/article/details/52885287

磁盘的顺序读写与随机读写详解相关推荐

  1. MySQL顺序读写和随机读写磁盘_随机读写与顺序读写的深入理解

    随机读写与顺序读写的深入理解 分类:数据恢复常见问题|最后更新:2018年11月6日 关于磁盘的读写性能曾经一直是我头疼的地方,涉及研发或者测试时不清楚过程导致结果不尽人意.一起认识下关于磁盘的读写原 ...

  2. 随机顺序_SSD固态硬盘的顺序读写和随机读写区别,谁更重要?

    众所周知,固态硬盘性能主要是取决于顺序读写和随机读写,但是对于普通用户,肯定不了解顺序读写和随机读写的区别,其实两者无论是概念还是作用都存在着较大的差异,下面装机之家分享一下SSD固态硬盘的顺序读写和 ...

  3. 读懂 SSD – 什么是顺序读写、随机读写、4K读写、IOPS值?

    读懂 SSD – 什么是顺序读写.随机读写.4K读写.IOPS值? 顺序读写 在所有测试软件中,最高的那个速度成绩,一般被叫做顺序(Sequential,简写为Seq)读取/写入速度,也就是数据都集中 ...

  4. android json mysql_Android通过json向MySQL中读写数据的方法详解【读取篇】

    本文实例讲述了Android通过json向MySQL中读取数据的方法.分享给大家供大家参考,具体如下: 首先 要定义几个解析json的方法parseJsonMulti,代码如下: private vo ...

  5. php node 目录,node.js基于fs模块对系统文件及目录进行读写操作的方法详解

    本文主要介绍了node.js基于fs模块对系统文件及目录进行读写操作的方法,结合实例形式分析了nodejs使用fs模块针对文件与目录的读写.创建.删除等相关操作技巧,需要的朋友可以参考下. 如果要用这 ...

  6. 用html js制作迷宫,JavaScript生成随机迷宫详解

    本篇教程介绍了JavaScript生成随机迷宫详解,希望阅读本篇文章以后大家有所收获,帮助大家对JavaScript的理解更加深入. < #先看生成随机迷宫的代码吧↓ 1 2 3 生成随机迷宫v ...

  7. 类加载顺序及加载过程详解

    转自: 类加载顺序及加载过程详解 下文笔者讲述类的加载顺序及加载过程的详解说明,如下所示 java创建对象的方式分为以下四种 new 反射克隆反序列化 class对象获取的方式分享 //没有完成初始化 ...

  8. java 拦截器顺序_Springmvc拦截器执行顺序及各方法作用详解

    实现HandlerInterceptor接口或者继承HandlerInterceptor的子类,比如Spring 已经提供的实现了HandlerInterceptor 接口的抽象类HandlerInt ...

  9. Linux系统与网络、磁盘参数和日志监控等命令详解二

    创作人QQ:851301776,邮箱:lfr890207@163.com, 欢迎大家一起技术交流,本博客主要是自己学习的心得体会,只为每天进步一点点! 个人座右铭: 1.没有横空出世,只要厚积一定发. ...

最新文章

  1. Python时间序列模型推理预测实战:时序推理数据预处理(特征生成、lstm输入结构组织)、模型加载、模型预测结果保存、条件判断模型循环运行
  2. 遇见BUG(2)去掉你的增量编译使能!
  3. 一文读懂Asp.net core 依赖注入(Dependency injection)
  4. 程序从命令行接收多个数字,求和之后输出结果。
  5. 干掉耐克的,绝不会是下一个耐克?
  6. java 控制 android_Java For Android - 流程控制
  7. leetcode 822. Card Flipping Game | 822. 翻转卡片游戏(Java)
  8. 【原创】ucos信号量的操作及原理
  9. python 创建目录_第二天:Python中目录及文件操作
  10. 一会儿花雨停了的飞鸽传书
  11. 黑白琴键 java_黑白琴键
  12. MySQL--流程控制
  13. POJ 1151 Atlantis 矩形面积求交/线段树扫描线
  14. python isfile_基于Python中isfile函数和isdir函数使用详解
  15. 尚学堂python培训靠谱吗_尚学堂百战程序员:Python的字符串
  16. 数据可视化|用热力地图进行数据分析
  17. 计算机高级筛选操作步骤,【EXCLE表格中根据特定的条件进行高级筛选】计算机excel高级筛选步骤...
  18. 在 Kubernetes 中基于 StatefulSet 部署 MySQL(下)
  19. python设置文件权限_python通用权限框架
  20. 李亚涛:python判断日志中的IP是否为百度蜘蛛

热门文章

  1. vi 搜索命令_vi或vim如何查询关键字
  2. oracle中有类似split的方法么,Oracle 实现拆分列数据的split()方法
  3. c语言大数位加法,求用C编个大数加减法运算程序
  4. 通达信版弘历软件指标_通达信弘历趋势王指标
  5. amd r5 m330 linux驱动下载,AMDAMD Radeon(TM) R5 M330 14.502.1014.0000显卡驱动官方正式版下载,适用于win8.1-64-驱动精灵...
  6. xmind怎么在左边创建_个人怎么做微信小程序商城
  7. php任意文件删除漏洞,phpshe后台任意文件删除漏洞及getshell | CN-SEC 中文网
  8. 计算机丢失qt5sql.ll,电脑中提示丢失Qt5core.dll文件的解决方法
  9. python中pickle模块的用法_Python中json模块和pickle模块的简单介绍(附示例)
  10. 均匀白噪声的定义及特点_职业卫生噪声布点与检测实务