硬盘物理结构和逻辑结构-第二讲4-6
- 格式:ppt
- 大小:3.65 MB
- 文档页数:39
硬盘物理结构先看下硬盘物理结构1 硬盘物理结构硬盘物理上主要是盘片、机械手臂、磁头、和主轴等组成. 在盘片逻辑划分上又分为磁道、扇区, 例如下图:2 盘片磁道、扇区磁道:当硬盘盘片旋转时, 磁头若保持在一个位置上, 则磁头会在盘片表面划出一个圆形轨迹, 这些圆形轨迹就叫做磁道. 以盘片中心为圆心, 由此可以划分出很多磁道来, 这些磁道用肉眼是根本看不到的, 因为它们仅是盘面上以特殊方式磁化了的一些磁化区, 硬盘上的信息便是沿着这样的轨道存放的, 盘片上的磁道由外向内依次从“0”开始进行编号.柱面:由于硬盘可以由很多盘片组成, 不同盘片的相同磁道就组成了柱面(cylinder), 如图1所示.磁头:假设有N个盘片组成的硬盘, 那么有2N个盘面(一个盘片有2面), 那么磁头也就有2N个, 即每个盘面有一个磁头.扇区:早期的硬盘盘片的盘面以圆心开始向外放射状将磁道分割成等分的弧段, 这些弧段便是硬盘的扇区(如图2). 每个扇区一般规定大小为512byte, 这里大家应该比较疑惑, 外圈周长很明显比内圈要长, 怎么可能每个扇区都是512byte?其实答案早期硬盘外圈存储比内圈存储密度低一些, 所以外圈很长但是仍然只能存储512byte, 因此如果我们知道了柱面数(磁道数) Cylinders、磁头数Heads、扇区数Sectors, 基本上硬盘的容量我们能够计算出来硬盘总容量= Cylinders * Heads * Sectors * 512byte. 但是由于早期硬盘外圈密度低, 导致盘片利用率不高, 现在的硬盘盘片则采用内外存储密度一致的方式, 每个磁道都划分成以512byte大小的弧段, 这样也造成了内外磁道上扇区数量会不一样, 外圈上的扇区数要多于内圈扇区数.硬盘寻址方式硬盘存取、读取数据, 首先要做的就是寻址, 即定位到数据所在的物理地址, 在硬盘上就要找到对应的柱面、磁头以及对应的扇区, 那么怎么寻址呢?有两种方式: CHS和LBACHS模式:CHS(Cylinder/Head/Sector)寻址模式也称为3D模式, 是硬盘最早采用的寻址模式, 它是在硬盘容量较小的前提下产生的.硬盘的C/H/S 3D参数既可以计算出硬盘的容量, 也可以确定数据所在的具体位置. 这是因为扇区的三维物理地址与硬盘上的物理扇区一一对应, 即三维物理地址可完全确定硬盘上的物理扇区. 三维物理地址通常以C/H/S的次序来书写, 如C/H/S为0/1/1, 则第一个数字0指0柱面, 第二个数字1指1磁头(盘面), 第三个数字1指1扇区, 表示该数据位于硬盘1盘面上的0磁道1扇区. 现在定位已完成, 硬盘内部的参数和主板BIOS之间进行协议, 正确发出寻址信号, 从而正确定位数据位置.早期硬盘一个磁道上分63个扇区, 物理磁头最多16个(8个盘片, 盘片多了硬盘那就真要加厚了). 采用8位寻址方式, 8位二进制位的最大值是256(0-255), 可以表示磁头数, 而扇区只有63个(1-63), 只需要其中6个二进制位即可表示, 剩下2位拿去表示柱面, 柱面数用10(8+2)位来表达, 达到1024个柱面(0-1023), 因此总扇区数(1024×16×63). 前面说一个扇区大小为512byte, 这也就是说, 如果以C/H/S寻址模式寻址, 则IDE硬盘的最大容量只能为1024×16×63×512B= 500MB左右.可以思考下, 在8位寻址模式下, 其实可以寻址的硬盘最大容量为1024×256×63×512B =8G,那为啥CHS模式硬盘只支持到500MB呢?原因很简单, 我们的硬盘盘片不可能让128片盘片重叠起来吧, 那会是多厚??如果采用28位寻址方式, 那么可以寻址137G, 盘片也不可能一直堆叠下去.LBA(Logical Block Addressing)经常去买硬盘的人都知道, 目前硬盘经常都说单碟、双碟, 其实意思就是说硬盘盘片只有1个或者2个, 而且都只是用一面, 单碟一个磁头而已, 但是硬盘容量确是几百G, 而且硬盘柱面往往都大于1024个柱面, CHS是无法寻址利用完这些硬盘容量的.另外由于老硬盘的扇区划分方式对硬盘利用率不高, 因此出现了现在的等密度盘, 外圈的扇区数要比内圈多, 原来的3D寻址方式也就不能适应这种方式, 因此也就出现了新的寻址方式LBA, 这是以扇区为单位进行的线性寻址方式, 即从最外圈柱面0开始, 依次将扇区号编为0、1….等等, 举个例子, 假设硬盘有1024个柱面, 由于是等密度硬盘, 柱面0(最外圈)假设有128个扇区, 依次编号为0-127, 柱面1有120个扇区, 则依次编号为127-246, …..依次最内圈柱面127只有扇区64个, 则编号到最后.因此要定位到硬盘某个位置, 只需要给出LBA 数即可, 这个就是逻辑数.在LBA 模式下, 为了保留原来CHS时的概念, 也可以设置柱面、磁头、扇区等参数, 但是他们并不是实际硬盘的物理参数, 只是为了计算方便而出的一个概念, 1023之前的柱面号都一一物理对应, 而1023以后的所有柱面号都记录成1023磁头最大数可以设置为255, 而扇区数一般是每磁道63个, 硬盘控制器会把由柱面、磁头、扇区等参数确定的地址转换为LBA 数. 这里我们再此明确两个概念:物理扇区号:一般我们称CHS模式下的扇区号为物理扇区号, 扇区编号开始位置是1逻辑扇区号:LBA下的编号, 扇区编号是从0开始.CHS模式转换到逻辑扇区号LBA计算公式LBA(逻辑扇区号)=磁头数×每磁道扇区数×当前所在柱面号+ 每磁道扇区数×当前所在磁头号+ 当前所在扇区号–1例如: CHS=0/0/1, 则根据公式LBA=255 ×63 ×0 + 63 ×0 + 1 –1= 0也就是说物理0柱面0磁头1扇区, 是逻辑0扇区.硬盘分区我们知道, 一般使用硬盘, 我们首先会对硬盘进行分区, 然后对分区使用某个文件系统格式(NTFS、FAT、ext2/ext3)进行分区格式化, 然后才能正常使用. 那么分区是怎么回事呢?我们常见的windows中说到的c、d、e盘是怎么划分出来的呢?其实, 在装windows系统过程中, 一般我们只需要填写每个分区的大小, 看不出来分区过程的实际工作情况, 我们可以从linux系统分区过程反而能反应底层实际分区情况.柱面是分区的最小单位, 即分区是以某个某个柱面号开始到某个柱面号结束的.如图, 柱面1~200我们可以分为一个区, 柱面201~500再划分为一个区, 501~1000再划分为一个区, 以此类推. 大家可以看到, 柱面0没有在任何分区里面, 为何?这里说说, 前面说到硬盘从外圈(柱面0)到内圈扇区是依次编号, 看似各个扇区没有什么区别, 但是这里硬盘的柱面0的第一个扇区(逻辑扇区0, CHS表示应该是0/0/1)却是最重要的, 因为硬盘的第一个扇区记录了整个硬盘的重要信息, 第一个扇区(512个字节)主要记录了两部分:①MBR(Master Boot Record): 主引导程序就放在这里, 主引导程序是引导操作系统的一个程序, 但是这部分只占446字节.②DPT(Disk Partition table): 硬盘分区表也在这里, 分区表就是用来记录硬盘的分区情况的, 例如c盘是1~200柱面, d盘是201~500柱面, 分区表总共只占64字节, 可以看出, 分区其实很简单, 就是在这个表里面修改一下记录就重新分区了, 但是由于只有64字节, 而一条记录就要占用16字节, 这个分区表最多只能记录4个分区信息, 为了继续分出更多分区来, 引入了扩展分区的概念, 也就是说, 在这4个分区中, 可以使用其中一条记录来记录扩展分区的信息, 然后在扩展分区中再继续划分逻辑分区, 而逻辑分区的分区记录则记录在扩展分区的第一个扇区中, 如此则可以像链表一样划分出很多分区来. 但是请注意, 一个分区表中可以有1~4条主分区, 但是最多只能有1个扩展分区.举例, 主分区可以是P1:1~200, 扩展分区P2: 2~1400, 扩展分区开始的第一个扇区可以用来记录扩展分区中划分出来的逻辑分区.分区表链分区表之间是如何关联的, 详细讲一下, 分区表是一个单向链表, 第一个分区表, 也就是位于硬盘第一个扇区中的DPT, 可以有一项记录扩展分区的起始位置柱面, 类似于指针的概念, 指向扩展分区(图3), 根据这项记录我们可以找到扩展分区的某柱面0磁头1扇区(CHS), 而这个扇区中又存放了第二个分区表, 第二个分区表第一项记录一般表述了当前所在的逻辑分区的起始/终止柱面, 第二项记录表述了下一个逻辑分区所在的0磁头1扇区(CHS),第三、第四项记录不存任何信息(图4).请看下图, 主引导记录/分区表所在的是硬盘第一个分区, 基本分区1、基本分2、基本分区3都是主分区、扩展分区内有2个逻辑分区, 每个逻辑分区的第一个扇区都是分区表, 至于引导扇区(DBR), 在系统启动一节中会提及.系统启动:之前提到MBR中安装的引导加载程序, 他的作用是什么?①提供开机菜单选项: 可以供用户选择启动哪个操作系统, 这是多重引导功能.②加载操作系统内核: 每个操作系统都有自己的内核, 需要引导程序来加载③转交给其他引导程序: 可以将工作移交给其他引导程序来进行上述操作.其实引导加载程序除了可以安装在MBR中, 还可以直接安装在每个分区的引导扇区(DBR)中, 注意下, 每个分区(主分区、逻辑分区)都有一个自己的启动扇区, 专门用来安装引导加载程序, 如上图标3结构图.系统启动过程:①首先,BIOS启动后, 读取硬盘第一个扇区MBR中的引导加载程序(可能是windows或者linux 的grub)②MBR中的引导程序提供开机菜单, 你可以选择1)直接加载windows 内核2)将工作转交给windows 分区内的引导扇区中的加载程序, 让他自己去加载内核3)转交给linux分区内引导扇区, 让他去加载linux.③根据用户选择的选项和引导加载程序中记录的分区, 到分区表找对应的分区柱面号等分区信息, 启动内核或者分区加载程序.Window安装时默认会自动将MBR和windows所在分区的引导扇区都装上引导程序, 而不会提供任何选项给用户选择, 因此如果之前装过其他操作系统, 然后再另外装一个windows时, 会把公用的MBR覆盖掉, 如此, 原来的操作系统就无法启动了. 如果先装windows, 然后装linux, linux会覆盖MBR, 然后让用户选择是否将windows等其他操作系统的启动项添加进来, 如果你选择了添加进来, 那么你在开机时就会有两个选项让用户进行选择了.后记l 这里讨论的全部是硬盘相关的东西, 光盘不在此列, 而且光盘的磁道并不是从外圈到内圈编号, 而是从内圈开始编号, 这点注意.l 硬盘第一个扇区是由MBR和分区表占据, 因此0柱面0磁头上剩下的62个扇区一般会空出来保留(这部分保留称为隐藏扇区, 因为操作系统读取不到这部分扇区, 这部分扇区是提供给BIOS读取的), 而系统分区则从0柱面1磁头1扇区开始, 折算成LBA=255 ×63 ×0 + 63 ×1 + 1 –1= 63, 即从LBA 63号扇区开始分区. 不过查阅有的资料提及到另外一种说法, 那就是有的硬盘可能0柱面全部空下来, 如果真是这样, 那浪费可就真的大了.l 对于扩展分区的分区表我们知道也是由扩展分区的第一个扇区开始写, 而且是写到每个逻辑驱动器的第一个扇区, 同样, 扩展分区内的第一个扇区所在的磁道剩余的扇区也会全部空余出来, 这些保留的扇区操作系统也是无法读取的, 注意在扩展分区的第一个扇区里面是没有引导加载记录的. 引导加载记录都是放在隐藏扇区后面的. 可以看图3, 图4。
硬盘的结构1、硬盘的外部物理结构硬盘主要由盘体、控制电路板和接口部件组成。
盘体是一个密封的腔体。
(后续将介绍硬盘的内部物理结构即是指盘体的内部结构)。
控制电路板上主要有硬盘BIOS、硬盘缓存(Cache)和主控制芯片等单元。
硬盘接口包括插座、数据接口和主、从跳线等。
2、硬盘的内部物理结构硬盘盘体是完全密封的,里面主要有磁头、盘片等部件。
硬盘的盘片材料硬度和耐磨性要求很高,所以一般采用合金材料,多数为铝合金。
(早期有塑料,陶瓷的,现在也出现了玻璃材料的)。
盘基上涂上磁性材料。
硬盘盘片厚一般在0.5mm左右,盘片的转速与盘片大小有关,考虑到惯性及盘片稳定性,盘片越大转速越低。
有些硬盘只装一张盘片,有此则有多张。
硬盘盘片安装在主轴电机的转轴上,在主轴电机的带动下作高速旋转。
每张盘片的容量称为单碟容量,而一块硬盘的总容量就是所有盘片容量的总和。
早期硬盘由于单碟容量低,所以盘片较多。
现代的硬盘盘片一般只有少数几片。
一块硬盘内的所有盘片都是完全一样的,否则控制部分就太复杂了。
盘片上的记录密度很大,而且盘片工作时会高速旋转,为保证其工作的稳定,数据保存的长久,所以硬片都是密封在硬盘内部的,内部并非真空。
不可自行拆卸硬盘,在普通环境下空气中的灰尘,都会对硬盘造成永久损害。
以上介绍的是盘片,一张单面的盘片需要一个磁头,双面的盘片则需要两个磁头。
硬盘采用高精度、轻型磁头驱动和定位系统。
这种系统能使磁头在盘面上快速移动,读写硬盘时,磁头依靠磁盘的高速旋转引起的空气动力效应悬浮在盘面上,与盘面的距离不到1微米(约为头发直径的百分之一),可以在极短的时间内精确定位到计算机指令指定的磁道上。
注意:由于磁盘是旋转的,则连续写入的数据是排列在一个圆周上的。
我们称这样的圆周为一个磁道(Track)。
由于定位系统限制,磁头臂只能在盘片的内外磁道之间移动。
因此,不管开机还是关机,磁头总在盘片上。
所不同的是,关机时磁头停留在盘片启停区,开机时磁头“飞行”在磁盘片上方。
一、物理结构:硬盘在物理结构上由头盘组件和控制电路板两大部分组成。
㈠头盘组件头盘就是磁头和盘片的意思。
头盘组件包括盘体、电机、磁头等部件。
所有部件密封在外壳中,绝对无尘、真空,如果你一旦开启了这个密封外壳,那么这个硬盘就会宣告作废。
其中盘体由单个或多个盘片组成,各个盘片之间由垫圈隔开,盘片表面极为平整光滑,并涂有磁性介质,是记录数据的载体。
盘片多为铝制品,早期出现过陶瓷制品,现在又出现了玻璃材料。
一个盘片对应上下两个盘面,分别对应两个磁头。
主轴电机带动盘片作高速转动. 由于盘片在高速转动时并不与读写数据的磁头接触,在磁头与盘片距离相当近的情况下,即使有一粒灰尘也会划坏硬盘表面,所以这也是电脑在开机时最忌震动的原因。
㈡控制电路板控制电路板表面焊接了许多芯片,包括主控制芯片、数据传输芯片、高速数据缓存芯片等。
盘片上的数据通过前臵读写控制电路与控制电路板导通完成对数据的控制。
二、逻辑结构:硬盘从逻辑结构上划分是针对存储在盘片上的数据如何进行编制的划分。
根据其不同的作用可分为五个部分。
㈠MBR主引导区(Main Boot Record)MBR区在硬盘0磁道0柱面1扇区上,大小为512个字节,它由Mbr (MasterBoot Record), DPT (Disk Partition Table) 和Boot Record ID三部分组成。
其中Mbr是主引导记录,点445个字节;DPT是分区表,占64个字节;Boot Record ID即引导区标记占用两个字节。
MBR由分区程序(如fdisk.exe)产生。
㈡DBR操作系统引导区(Dos Boot Record)DBT位于硬盘的0磁道1柱面1扇区,它包括一个引导程序和一个被称为BPB(Bios Parameter Block)的本分区参数记录表。
DBR是由高级格式化程序(即Format.com等程序)所产生。
㈢FAT文件分配表(File Allocation Table)㈣DIR根目录区(Directory)FAT和DIR的组合相当于横纵坐标对点的定位,它可以对DaTa区内的任何一个文件进行精确定位。
硬盘知识,硬盘逻辑结构你新买来的硬盘是不能直接使用的,必须对它进行分区并进行格式化的才能储存数据。
硬盘分区是操作系统安装过程中经常谈到的话题。
对于一些简单的应用,硬盘分区并不成为一种障碍,但对于一些复杂的应用,就不能不深入理解硬盘分区机制的某些细节。
硬盘的崩溃经常会遇见,特别是病毒肆虐的时代,关于引导分区的恢复与备份的技巧,你一定要掌握。
在使用电脑时,你往往会使用几个操作系统。
如何在硬盘中安装多个操作系统?如果你需要了解这方面的知识或是要解决上述问题,这期的“硬盘分区”专题会告诉你答案!硬盘是现在计算机上最常用的存储器之一。
我们都知道,计算机之所以神奇,是因为它具有高速分析处理数据的能力。
而这些数据都以文件的形式存储在硬盘里。
不过,计算机可不像人那么聪明。
在读取相应的文件时,你必须要给出相应的规则。
这就是分区概念。
分区从实质上说就是对硬盘的一种格式化。
当我们创建分区时,就已经设置好了硬盘的各项物理参数,指定了硬盘主引导记录(即Master Boot Record,一般简称为MBR)和引导记录备份的存放位置。
而对于文件系统以及其他操作系统管理硬盘所需要的信息则是通过以后的高级格式化,即Format命令来实现。
面、磁道和扇区硬盘分区后,将会被划分为面(Side)、磁道(Track)和扇区(Sector)。
需要注意的是,这些只是个虚拟的概念,并不是真正在硬盘上划轨道。
先从面说起,硬盘一般是由一片或几片圆形薄膜叠加而成。
我们所说,每个圆形薄膜都有两个“面”,这两个面都是用来存储数据的。
按照面的多少,依次称为0面、1面、2面……由于每个面都专有一个读写磁头,也常用0头(head)、1头……称之。
按照硬盘容量和规格的不同,硬盘面数(或头数)也不一定相同,少的只有2面,多的可达数十面。
各面上磁道号相同的磁道合起来,称为一个柱面(Cylinder)。
上面我们提到了磁道的概念。
那么究竟何为磁道呢?由于磁盘是旋转的,则连续写入的数据是排列在一个圆周上的。
硬盘存储原理的详细解读-图文硬盘原理的详细解读(一)一、硬盘原理之硬盘的组成硬盘大家一定不会陌生,我们可以把它比喻成是我们电脑储存数据和信息的大仓库。
一般说来,无论哪种硬盘,都是由盘片、磁头、盘片主轴、控制电机、磁头控制器、数据转换器、接口、缓存等几个部份组成。
图1硬盘组成图所有的盘片都固定在一个旋转轴上,这个轴即盘片主轴。
而所有盘片之间是绝对平行的,在每个盘片的存储面上都有一个磁头,磁头与盘片之间的距离比头发丝的直径还小。
所有的磁头连在一个磁头控制器上,由磁头控制器负责各个磁头的运动。
磁头可沿盘片的半径方向动作,而盘片以每分钟数千转到上万转的速度在高速旋转,这样磁头就能对盘片上的指定位置进行数据的读写操作。
图2盘片组成图由于硬盘是高精密设备,尘埃是其大敌,所以必须完全密封。
二、硬盘原理之硬盘的工作原理硬盘在逻辑上被划分为磁道、柱面以及扇区。
图3磁道、柱面以及扇区硬盘的每个盘片的每个面都有一个读写磁头,磁盘盘面区域的划分如图所示。
图4磁盘盘面区域的划分磁头靠近主轴接触的表面,即线速度最小的地方,是一个特殊的区域,它不存放任何数据,称为启停区或着陆区(LandingZone),启停区外就是数据区。
在最外圈,离主轴最远的地方是“0”磁道,硬盘数据的存放就是从最外圈开始的。
那么,磁头是如何找到“0”磁道的位置的呢?在硬盘中还有一个叫“0”磁道检测器的构件,它是用来完成硬盘的初始定位。
“0”磁道是如此的重要,以致很多硬盘仅仅因为“0”磁道损坏就报废,这是非常可惜的。
早期的硬盘在每次关机之前需要运行一个被称为Parking的程序,其作用是让磁头回到启停区。
现代硬盘在设计上已摒弃了这个虽不复杂却很让人不愉快的小缺陷。
硬盘不工作时,磁头停留在启停区,当需要从硬盘读写数据时,磁盘开始旋转。
旋转速度达到额定的高速时,磁头就会因盘片旋转产生的气流而抬起,这时磁头才向盘片存放数据的区域移动。
盘片旋转产生的气流相当强,足以使磁头托起,并与盘面保持一个微小的距离。