zoukankan      html  css  js  c++  java
  • 硬盘的扇面、磁道、扇区 分类: VC++ 生活百科 磁盘的扇区读写 2015-04-29 09:49 408人阅读 评论(1) 收藏

    扇面:Cylinder/
    磁道:Track   / sectors
    扇区:Sector  / head
     
    CHS:Cylinder、Head、Sector/Track,示意图如下:
     360px-Cylinder_Head_Sector_svg
    Cylinder柱面数表示硬盘每面盘面上有几条磁道,编号是从0开始,最大为1023,表示有1024个磁道。
    Head磁头数表示磁盘共有几个磁头,也就是几面盘面,编号从0开始,最大为255,表示有256个磁头。
    Sector/Track扇区数表示每条磁道上有几个扇区,编号从1开始,最大为63,表示63个扇区,每个扇区为512字节,他是磁盘的最小存储单位。
    1024个柱面 x 63个扇区 x 256个磁头 x 512byte = 8455716864byte(即8.4G)
    逻辑区块Block:逻辑区块是在partition进行filesystem的格式时,所指定的最小存储单位。Block的大小为Sector的2的次方倍数。磁头一次可以读取一个block。block单位的规划要考虑到数据读取的性能及硬盘空间的利用率。
     

    硬盘容量大翻倍!扇区大小512B升至4KB

    虽然内外磁道的长度不一样,但是每磁道上的扇区数还是一样的,就是说内圈密度大,外圈密度小。

    http://hi.baidu.com/youdianweidao/blog/item/98b739502e311a581038c235.html

    如何计算容量﹖

    一般我们买硬碟首先是注重它的容量﹐其次看它的转数(转数越高越好)﹐磁头读写速度﹐cache大小和流量等数据。那麽我们怎麽才知道容量呢﹖最简单的是看model和厂家资料﹐但却非通过技术途径﹐下面就教您如何去计算硬碟的容量﹐不过首先还是了解一下磁碟机的构造。

    如果将硬碟打开(但千万别在您自己的硬碟上这样做﹗因为硬碟是密封的﹐一经打开就差不多成为废物了)﹐您会发现里面有一堆以圆心为轴的金属碟﹐它们已经被磁化的了。所有的资料都是记录在这些光滑的金属碟表面之上。每个金属磁片通常都有两面﹐每一面都有其各自的读写磁头(Head)一个。如图﹕

    然後将磁碟旋转﹐磁头不移动的在表面相对所画出来的一圈﹐可以说是一个磁轨(Track)。那麽从圆心向外以一定距离进行量度﹐将所有表面上的相同圆周的磁轨从上到下叠起来﹐抽象地看就是一个磁柱(Cylinder)了。

    然後﹐也是由圆心开始﹐在同一表面上分别画出无数条半径﹐然後每两条半径所分割的磁轨﹐我们称为磁区(Sector)。每一磁区通常会可携带512byte(0.5KB)的资料。请看图例﹕

    好了﹐如果以上资料(Cylinder/Heads/Sector)都知道的话﹐要求出硬碟容量就易如反掌了。公式是﹕

    磁头数量(其实是可读写的表面) X 磁柱数量(其实是每个表面的磁轨) X 每条磁轨的磁区数量 X 每个磁区的容量 = 硬碟容量

    举例﹕假如您看到硬碟上面写着﹕

    CylinderHeadsSector
    16471663

    那麽﹐1647x16x63x0.5KB=830088KB/1024 就是一个811MB 的硬碟了。如果要系统能够读取这个硬碟﹐这些数据是必须写进BIOS 里面的﹐不过现在的BIOS 大多有自动侦测功能﹐只要在BIOS 里面选择AUTO 就可以了﹐实在方便多了﹐尤其是换新硬碟的时候。

    现今的制造技术的不断提高﹐硬碟的磁片越来越薄﹐磁头也越来越小﹐那麽磁片就可以越装越多(相对的是可读写表面越来越多)﹐而且表面的密度也不断提高和读写精度越来越高(相对的是Track和Sector也越来越多)﹐所以硬碟容量也越来越大。

    不过除了这种因素外﹐增加磁碟容量的方法还有一种叫做多区记录(Multiple Zone Recording)技术。在没有引进这技术之前﹐每条track上面的sector数目都是一样的﹐这样在外围的sector所跨的扇面很明显比靠里面(圆心)的要宽﹐也浪费得多。那麽在引用了MZR之後﹐我们就可以对外围的track划分更多的sector了﹐这样容量也会相对增加 。

     

    * 硬碟的物理组成

    大家应该都看过硬碟吧!硬碟依据桌上型与笔记型电脑而有分为3.5吋及2.5吋的大小。我们以3.5吋的桌上型电脑使用硬碟来说明。 在硬碟盒里面其实是由许许多多的圆形磁碟盘、机械手臂、 磁碟读取头与主轴马达所组成的,整个内部如同下图所示:


    硬碟物理构造
    图2.4.1、硬碟物理构造(图片取自维基百科)

    实际的资料都是写在具有磁性物质的磁碟盘上头,而读写主要是透过在机械手臂上的读取头(head)来达成。 实际运作时, 主轴马达让磁碟盘转动,然后机械手臂可伸展让读取头在磁碟盘上头进行读写的动作。 另外,由于单一磁碟盘的容量有限,因此有的硬碟内部会有两个以上的磁碟盘喔!

    * 磁碟盘上的资料

    既然资料都是写入磁碟盘上头,那么磁碟盘上头的资料又是如何写入的呢? 其实磁碟盘上头的资料有点像下面的图示所示:


    磁碟盘上的资料格式
    图2.4.2、磁碟盘上的资料格式

    整个磁碟盘上头好像有多个同心圆绘制出的圆形图,而由圆心以放射状的方式分割出磁碟的最小储存单位,那就是磁区(Sector), 在物理组成分面,每个磁区大小为512Bytes,这个值是不会改变的。而磁区组成一个圆就成为磁轨(track), 如果是在多碟的硬碟上面,在所有磁碟盘上面的同一个磁轨可以组成一个磁柱(Cylinder), 磁柱也是一般我们分割硬碟时的最小单位了!

    在计算整个硬碟的储存量时,简单的计算公式就是:‘header数量 * 每个header负责的磁柱数量 * 每个磁柱所含有的磁区数量 * 磁区的容量’,单位换算为‘header * cylinder/header * secter/cylinder * 512bytes/secter’,简单的写法如下: Head x Cylinder x Sector x 512 Bytes。 不过要注意的是,一般硬碟制造商在显示硬碟的容量时,大多是以十进位来编号,因此市售的500GB硬碟, 理论上仅会有460GBytes左右的容量喔!

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    【线程控制:线程休眠】
    【线程调度-优先级】
    【多线程实现方案一:继承Thread 类】
    【多线程概述】
    【使用Mybatis-Generator自动生成Mapper、Model、Mapping相关文件】
    【springmvc集成mybatis框架】
    【UltraISO制作centos7系统安装盘】
    【己有原码, 为何还有反码和补码?】
    【原码, 反码, 补码的基础概念和计算方法】
    【数据类型】
  • 原文地址:https://www.cnblogs.com/mao0504/p/4706435.html
Copyright © 2011-2022 走看看