zoukankan      html  css  js  c++  java
  • 硬盘基本知识(磁头、磁道、扇区、柱面)

    硬盘基本知识(磁头、磁道、扇区、柱面) 

    概述

    1. 盘片(platter)
    2. 磁头(head)
    3. 磁道(track)
    4. 扇区(sector)
    5. 柱面(cylinder)

    硬盘划分为 磁头(Heads) 柱面(Cylinder) 扇区(Sector)
    硬盘容量 = 磁头数 * 柱面(磁道)数 * 每道扇区数 * 每扇区字节数

    磁头(head): 每张磁片的正反两面各有一个磁头, 一个磁头对应一张磁片的一个面. 因此用第几磁头就可以表示数据在哪个磁面.

    柱面(cylinder): 所有磁片中半径相同的同心磁道(track)构成"柱面", 意思是这一系列的磁道(track)垂直叠在一起, 就形成一个柱面的形状. 简单地理解, 柱面就是磁道(track).

    扇区(sector): 将磁道划分为若干个小的区段, 就是扇区. 虽然很小, 但实际是一个扇子的形状, 故称为扇区. 每个扇区的一般大小为512字节.

    盘片 片面 和 磁头

    硬盘中一般会有多个盘片组成,每个盘片包含两个面,每个盘面都对应地有一个读/写磁头。受到硬盘整体体积和生产成本的限制,盘片数量都受到限制,一般都在5片以内。盘片的编号自下向上从0开始,如最下边的盘片有0面和1面,再上一个盘片就编号为2面和3面。
    如下图:

    扇区 和 磁道

    下图显示的是一个盘面,盘面中一圈圈灰色同心圆为一条条磁道,从圆心向外画直线,可以将磁道划分为若干个弧段,每个磁道上一个弧段被称之为一个扇区(图践绿色部分)。扇区是磁盘的最小组成单元,通常是512字节。(由于不断提高磁盘的大小,部分厂商设定每个扇区的大小是4096字节)

    磁头 和 柱面

    硬盘通常由重叠的一组盘片构成,每个盘面都被划分为数目相等的磁道,并从外缘的“0”开始编号,具有相同编号的磁道形成一个圆柱,称之为磁盘的柱面。磁盘的柱面数与一个盘面上的磁道数是相等的。由于每个盘面都有自己的磁头,因此,盘面数等于总的磁头数。 如下图

     

    磁盘容量计算

    存储容量 = 磁头数 × 磁道(柱面)数 × 每道扇区数 × 每扇区字节数

    图3中磁盘是一个 3个圆盘6个磁头,7个柱面(每个盘片7个磁道) 的磁盘,图3中每条磁道有12个扇区,所以此磁盘的容量为:

    存储容量 6 * 7 * 12 * 512 = 258048

    每个磁道的扇区数一样是说的老的硬盘,外圈的密度小,内圈的密度大,每圈可存储的数据量是一样的。新的硬盘数据的密度都一致,这样磁道的周长越长,扇区就越多,存储的数据量就越大。

    磁盘读取响应时间

    1. 寻道时间:磁头从开始移动到数据所在磁道所需要的时间,寻道时间越短,I/O操作越快,目前磁盘的平均寻道时间一般在3-15ms,一般都在10ms左右。
    2. 旋转延迟:盘片旋转将请求数据所在扇区移至读写磁头下方所需要的时间,旋转延迟取决于磁盘转速。普通硬盘一般都是7200rpm,慢的5400rpm。
    3. 数据传输时间:完成传输所请求的数据所需要的时间。
      小结一下:从上面的指标来看、其实最重要的、或者说、我们最关心的应该只有两个:寻道时间;旋转延迟。

    读写一次磁盘信息所需的时间可分解为:寻道时间、延迟时间、传输时间。为提高磁盘传输效率,软件应着重考虑减少寻道时间和延迟时间。

    块/簇

    概述

    磁盘块/簇(虚拟出来的)。 块是操作系统中最小的逻辑存储单位。操作系统与磁盘打交道的最小单位是磁盘块。
    通俗的来讲,在Windows下如NTFS等文件系统中叫做簇;在Linux下如Ext4等文件系统中叫做块(block)。每个簇或者块可以包括2、4、8、16、32、64…2的n次方个扇区。

    为什么存在磁盘块?

    读取方便:由于扇区的数量比较小,数目众多在寻址时比较困难,所以操作系统就将相邻的扇区组合在一起,形成一个块,再对块进行整体的操作。

    分离对底层的依赖:操作系统忽略对底层物理存储结构的设计。通过虚拟出来磁盘块的概念,在系统中认为块是最小的单位。

    操作系统经常与内存和硬盘这两种存储设备进行通信,类似于“块”的概念,都需要一种虚拟的基本单位。所以,与内存操作,是虚拟一个页的概念来作为最小单位。与硬盘打交道,就是以块为最小单位。

    扇区、块/簇、页的关系

    1. 扇区: 硬盘的最小读写单元
    2. 块/簇: 是操作系统针对硬盘读写的最小单元
    3. 页: 是内存与操作系统之间操作的最小单元

    扇区 <= 块/簇 <= 页

    ========== End

  • 相关阅读:
    Linux常用性能检测命令
    Linux环境下获取网卡连接状态
    posix多线程有感线程高级编程(均衡负载CPU绑定)
    posix多线程有感线程高级编程(线程调度以及优先级设置)
    posix多线程有感线程高级编程(线程和fork,exec)
    posix多线程有感线程高级编程(进程的优先级)
    linux多线程和锁
    posix多线程有感—sysconf系统变量
    posix多线程有感线程高级编程(线程堆栈)
    Linux基本网络设置(IP配置等,网卡驱动缓存,网卡中断)
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/15641934.html
Copyright © 2011-2022 走看看