美文网首页
磁盘总结

磁盘总结

作者: SeaRise | 来源:发表于2017-10-21 19:50 被阅读20次

1 磁盘结构

我们先从个盘片结构讲起。如图1所示,图中的一圈圈灰色同心圆为一条条磁道,从圆心向外画直线,可以将磁道划分为若干个弧段,每个磁道上一个弧段被称之为一个扇区(图践绿色部分)。扇区是磁盘的最小组成单元,通常是512字节。其中灰色的直线是间隙,用于分割扇区,间隙大约占磁道的10%.

Paste_Image.png

图1 老式磁盘一个盘片的结构

图2展示了由一个个盘片组成的磁盘立体结构,一个盘片上下两面都是可读写的,图中蓝色部分叫柱面(cylinder)。
盘片的每一面都对应一个磁头,磁头可以进行读写。磁头根据磁臂可以伸缩找到相应的磁道。而磁片转动可以找到相应的扇区。磁盘控制器控制磁头和磁盘的转动。一个磁盘控制器可以控制多个磁盘。

Paste_Image.png

图2 老式磁盘的整体结构

一个磁盘的容量计算公式为:
存储容量 = 磁头数 × 磁道(柱面)数 × 每道扇区数 × 每扇区字节数

2 读写磁盘

读写一个磁盘需要三个步骤,每一步都有相关的延迟:

  1. 磁盘控制器将磁头组合定位在磁盘块所在磁道的柱面上所需要的时间即寻道时间
  2. 磁盘控制器等待访问块的第一个扇区旋转到磁头下。此时间称为旋转延迟
  3. 当磁盘控制器读取或写数据时,数据所在的扇区和扇区间的空隙经过磁头,此时间称为传输时间

寻道时间、旋转延迟和传输时间的总和称为磁盘的延迟。

让我们计算一下读16 384字节块的最小、最大和平均时间。

  • 最小时间仅计算传输时间。也就是说,磁头已经定位在块所在的磁道上,而且块的第一个扇区即将从磁头下面通过。
    由于Megatron 747的每个扇区有4096字节。所以该块要占用4个扇区。为此,磁头必须越过4个扇区和扇区之间的3个间隙。间隙占圆周的10%,而扇区占其余的90%。围绕着圆周有256个间隙和256个扇区。由于间隙合在一起覆盖36度圆弧,而扇区覆盖其余的324度圆弧,所以被3个间隙和4个扇区覆盖的圆弧的总度数为:36 × 3 / 256 + 324 × 4 / 256 = 5.48度。传输时间是(5.48/360)×0.008 3=0.000 13s,即5.48/360得到该总度数占一个圆周的分数,而0.008 33s是旋转360度所需的时间。
    现在让我们来看一下读该块的最大的可能时间。在最坏的情况下,磁头被定位于最内圈柱面,而我们要读的块是在最外圈柱面上(或者相反)。这样,控制器必须做的第一件事就是移动磁头。正如我们在前面已经知道的,移动Megatron 747磁头跨越全部柱面所花费的时间大约是17.38ms。这个数量就是读盘的寻道时间。
    当磁头到达正确的柱面时,可能发生的最糟糕的事情是,所需要的块的起点刚好从磁头下面越过。假定我们必须从块的起点开始读,实际上我们必须等待完整一圈的时间,或者说8.33ms,使块的起点再次到达磁头下。一旦发生这种情况,我们必须等待的仅仅是读整个块的0.13ms传输时间的总量。这样,最坏情况下的等待时间是17.38 +8.33+ 0.13 = 25.84ms。

  • 最后让我们来计算读一个块的平均时间。等待时间的两个要素是容易计算的:传输时间总是0.13ms,平均旋转等待时间是磁盘旋转半周所需要的时间,即4.17ms。可以假定,平均寻道时间正好是越过一半磁道所需要的时间。然而,这样计算并不很准确,因为通常磁头起初是位于中间位置附近的某个位置,因此平均来说,磁头到达所要求柱面需移动的距离小于跨越一半的磁道的距离。我们将它作为一个习题,说明平均移动距离是移过整个磁盘的1/3。
    在Megatron 747的磁盘上移动1/3的距离需要1+(65 536/3)/4000=6.46ms。因此,我们估算的平均延迟时间是6.46+4.17+0.13=10.76ms;上式中3个相加的数字分别表示平均寻道时间、平均旋转延迟和平均传输时间。

相关文章

  • Linux 磁盘I/O基础知识总结

    本文用于对一些基础磁盘I/O知识的总结。 目录索引 磁盘I/O那些事 总结思维导图 磁盘I/O学习笔记 磁盘I/O...

  • 磁盘总结

    1 磁盘结构 我们先从个盘片结构讲起。如图1所示,图中的一圈圈灰色同心圆为一条条磁道,从圆心向外画直线,可以将磁道...

  • fdisk磁盘分区&GPT大于2T磁盘分区

    part1. fdisk磁盘分区总结:磁盘分区其实就是1.fdisk [待分区磁盘路径]2.输入n开始分区3.w ...

  • MySql数据库的一些操作

    一、删除数据后磁盘空间的释放总结 1、drop table table_name 立刻释放磁盘空间 ,不管是 In...

  • linux磁盘排查总结

    storcli64 show all 查看raid信息 storcli64 /c0 show 查看硬件故障信息 =...

  • linux 查看磁盘信息du df

    总结 df 显示的是磁盘信息,几个分区的占用du 显示的是文件实际占用磁盘大小ls -l 显示的是实际文件(目录)...

  • Linux学习日记——磁盘与文件系统管理

    (此总结自鸟哥的《Linux私房菜基础篇》) 一、Linux文件系统 1、磁盘组成与分区 整颗磁盘由三部分组成...

  • VMware虚拟机中扩展linux磁盘空间

    简单总结:1、在VMware中给Linux虚拟机扩展磁盘2、进入虚拟机查看磁盘:fdisk -l3、操作分区表:f...

  • 数据存储的发展历程

    记录一次学习总结——数据存储的发展历程 文件存储 早期一般都是文件存储,存在磁盘上,磁盘的读写是线性的、速度在毫秒...

  • Linux性能优化实战——磁盘I/O调优

    前言 本文基于文件系统和磁盘I/O工作原理,通过典型I/O问题分析,总结磁盘I/O调优的一般套路。 问题描述:文件...

网友评论

      本文标题:磁盘总结

      本文链接:https://www.haomeiwen.com/subject/fsojuxtx.html