【 tulaoshi.com - Linux 】
硬盘的物理结构
硬盘的物理结构硬盘是现在计算机上最常用的存储器。我们都知道,计算机之所以神奇,是因为它具有高速分析处理数据的能力。而这些数据都被以文件的形式存储在硬盘里。不过,计算机可不像人那么聪明。在读取相应的文件时,你必须要给出它相应的规则。这就是分区概念的形成。 分区从实质上说就是对硬盘的一种格式化。当我们创建分区时,就已经设置好了硬盘的各项物理参数,指定了硬盘主引导记录(即MasterBootRecord,一般简称为MBR)和引导记录备份的存放位置。而对于文件系统以及其他操作系统管理硬盘所需要的信息则是通过之后的高级格式化,即Format命令来实现。 硬盘分区后,将会被划分为面、磁道和扇区。需要注意的是,这些只是个虚拟的概念,并不是真正在硬盘上划道子^_^。先从面说起,硬盘一般是由一片或几片圆形薄膜叠加而成。我们所说,每个圆形薄膜都有两个"面"(Side),这两个面都是用来存储数据的。按照面的多少,依次称为0面、1面、2面……由于每个面都专有一个读写磁头,也常用0头(head)、1头……称之。按照硬盘容量和规格的不同,硬盘面数(或头数)也不一定相同,少的只有2面,多的可达数十面。各面上磁道号相同的磁道合起来,称为一个柱面(cylinder)。 上面我们提到了磁道的概念。那么究竟何为磁道呢?大家都知道,读写硬盘时,磁头依靠磁盘的高速旋转引起的空气动力效应悬浮在盘面上,与盘面的距离不到1微米(约为头发直径的百分之一)。由于磁盘是旋转的,则连续写入的数据是排列在一个圆周上的。我们称这样的圆周为一个磁道(Track)。如果读写磁头沿着圆形薄膜的半径方向移动一段距离,以后写入的数据又排列在另外一个磁道上。 根据硬盘规格的不同,磁道数可以从几百到数千不等;一个磁道上可以容纳数KB的数据,而主机读写时往往并不需要一次读写那么多,于是,磁道又被划分成若干段,每段称为一个扇区(Sector)。一个扇区一般存放512字节的数据。扇区也需要编号,同一磁道中的扇区,分别称为1扇区,2扇区。。。。这里需要注意的是,硬盘在划分扇区时,和一般的软盘有一定的区别。软盘的一个磁道中,扇区号依次编排,即2号与1号相邻,3号与2号相邻,以此类推。而在硬盘的一个磁道中,扇区号是按照某个间隔跳跃着编排的。我们举一个例子来说明:在某个硬盘上,以实际存储位置而论,2号扇区并不是1号扇区后的第一个,而是第5个,3号扇区又是2号扇区后的第5个,以此类推。这个"5"就是我们说的交叉因子。当然,这个交叉因子的设定并不是绝对的,每个种类的硬盘为根据自身的情况加以变化。选择适当的交叉因子,可使硬盘驱动器读写扇区的速度与硬盘的旋转速度相匹配,提高存储数据的速度。 计算机对硬盘的读写,处于效率的考虑,是以扇区为基本单位的。即使计算机只需要硬盘上存储的某个字节,也必须一次把这个字节所在的扇区中的512字节全部读入内存,再使用所需的那个字节。不过,在上文中我们也提到,硬盘上面、磁道、扇区的划分表面上是看不到任何痕迹的,虽然磁头可以根据某个磁道的应有半径来对准这个磁道,但怎样才能在首尾相连的一圈扇区中找出所需要的某一扇区呢?原来,每个扇区并不仅仅是由512个字节组成的,在这些由计算机存取的数据的前、后两端,都另有一些特定的数据,这些数据构成了扇区的界限标志,标志中含有扇区的编号和其他信息。计算机就凭借着这些标志来识别扇区。 五、硬盘的数据结构 硬盘上的数据按照其不同的特点和作用大致可分为5部分:MBR区、DBR区、FAT区、DIR区和DATA区。我们来分别介绍一下: (1)MBR区 MBR(Main Boot Record),按其字面上的理解即为主引导记录区,位于整个硬盘的0磁道0柱面1扇区。不过,在总共512字节的主引导扇区中,MBR只占用了其中的446个字节(偏移0--偏移1BDH),另外的64个字节(偏移1BEH--偏移1FDH)交给了DPT(Disk Partition Table硬盘分区表)(见下表),最后两个字节"55,AA"(偏移1FEH- 偏移1FFH)是分区的结束标志。这个整体构成了硬盘的主引导扇区。 主引导记录中包含了硬盘的一系列参数和一段引导程序。其中的硬盘引导程序的主要作用是检查分区表是否正确并且在系统硬件完成自检以后引导具有激活标志的分区上的操作系统,并将控制权交给启动程序。MBR是由分区程序(如Fdisk.com)所产生的,它不依赖任何操作系统,而且硬盘引导程序也是可以改变的,从而实现多系统共存。 偏移 长度 所表达的意义 0 字节 分区状态:如0-->非活动分区 80--> 活动分区 1 字节 该分区起始头(HEAD) 2 字 该分区起始扇区和起始柱面 4 字节 该分区类型:如82--> Linux Native分区 83--> Linux Swap 分区 5 字节 该分区终止头(HEAD) 6 字 该分区终止扇区和终止柱面 8 双字 该分区起始绝对分区 C 双字 该分区扇区数 下面,我们以一个实例让大家更直观地来了解主引导记录: 例:80 01 01 00 0B FE BF FC 3F 00 00 00 7E 86 BB 00 在这里我们可以看到,最前面的"80"是一个分区的激活标志,表示系统可引导;"01 01 00"表示分区开始的磁头号为01,开始的扇区号为01,开始的柱面号为00;"0B"表示分区