《硬盘的存储结构.ppt》由会员分享,可在线阅读,更多相关《硬盘的存储结构.ppt(10页珍藏版)》请在三一办公上搜索。
1、第26章 磁盘的存储结构教学目标:了解磁盘的结构教学重点、难点:掌握磁盘的存储结构教学方法:讲练法教学步骤:,一、磁盘的存储结构,微机故障是指微机系统的硬件发生物理性损坏,或者软件系统的程序错误。前者一般称硬故障,后者则称软故障。实践证明,微机发生的故障70是软故障。一旦微机发生故障,首先要考虑是否是软件故障,而在软故障中又要首先想到是否是病毒造成,消除病毒并证实软件没有问题,最后再查找硬件故障。如果判断错误,开始就乱动硬件设备,可能使问题更加复杂化,导致小故障变成大故障。在诊断微机故障时可以先排除软故障的可能后,再考虑硬故障的诊断。,面、磁道和扇区 软盘的圆形薄膜有两个面(Side),目前所
2、使用的软盘两面均可以存储数据,其中无标签的一面称为0面,有标签的一面称为1面。由于读写软盘时薄膜是旋转的,因此,连续写入的数据排列在一个圆周上,称为磁道(Track)。一片软盘可以容纳多个磁道,从外向内编号,最外面的磁道是0磁道。每个磁道又被划分为若干段,每段称为一个扇区(Sector),容量通常是512B字节。主机与磁盘驱动器之间交换数据是以扇区单位的,即使当前主机只需要磁盘上存储的某一字节,也必须一次把这个字节所在的扇区中的512B全部读入内存,再使用所需要的那个字节。一个扇区所在的面号、道号、扇区号三个数据合称扇区地址,由于使用面号、道号、扇区号三个数据来指定一个扇区不方便,因此也将盘上
3、的所有扇区都规定一个连续的、确定的序号,称为逻辑扇区号,如0面0道1扇区称为0号扇区、0面0 道2扇区称为1号扇区,依次类推。软盘格式化的主要任务之一,就是在磁盘表面写上这些扇区标志。,引导记录 对软盘格式化,在完成所有扇区的划分并写上标志后,DOS自动向0面0道1扇区写入512B数据。这一扇区称为引导记录,又称为引导扇区、引导区、启动块、BOOT区等。引导记录中包含两部分内容,一是引导程序,二是有关磁盘规格的参数。文件存储空间的分配 在操作系统的管理下,用户的数据文件是以文件的形式存放在磁盘上的。由于文件的大小是动态的(经编辑后会增加或删除部分内容),这就对文件的存储方式提出了特殊的要求。D
4、OS和Windows均以“簇(Cluster)”为基本单位来存放文件,簇的大小与磁盘规格有关,软盘每簇是一个扇区,硬盘的每簇扇区数随条件而异,有4、8、16等。与扇区的逻辑编号类似,簇也有自己的编号,称为簇号。由于磁盘上文件的变化,同一个文件的数据并不一定连续存放在磁盘中,往往会分为若干段,就像一条链由若干个环节组成一样,这种存储方式称为文件的链式存储。,文件分配表 为了实现文件的链式存储,磁盘上必须准确地记录哪些簇已被文件占用,哪些簇尚未被占用,还必须为每个已占用的簇指明存储后继内容的下一个簇的簇号,对文件的最后一簇,则要指明本簇不再有后继簇。磁盘上有一个区域用来存放这些记录,这个区域称为文
5、件分配表,简称FAT(File Allocation Table),表中有许多表项,每项记录一个簇的信息。文件分配表在格式化时形成,紧接在引导记录之后,固定占据若干个扇区,一式两份,内容完全相同。在正常情况下,初形成的表中所有项都标为“未占用”,但如果磁盘有局部损坏,格式化程序会检测损坏的簇,在相应的项中标上“坏簇”,以后存放文件时可以避开这些簇。目前常用的软盘容量较小,簇数也少,FAT的每一项占据1.5B,称为 12 位FAT,硬盘通常使用16位FAT(记为FAT16)或32位FAT(记为FAT32)。16位表项的FAT,每项占用2字节,这就决定了簇号不能超过FFFFH即65535。面对越来
6、越大的硬盘,不得不以加大簇容量的方法来限制簇号的扩大,这是硬盘每簇包含的扇区个数不统一的主要原因。簇容量的增大导致空间的浪费增大,文件越小,文件个数越多,这种浪费越严重。在Windows 95/98和Windows NT中,FAT表项允许扩大到4B,即32位FAT。,文件目录表为了管理磁盘上的文件,操作系统为磁盘上根目录和所有子目录都建立一个目录表,目录表由若干表项组成,每项占32B,对应一个文件或一个子目录。在表项中有以下几种数据:文件主名(或子目录名)和扩展名;属性;建立或最后修改时间;建立或最后修改日期;起始簇号;文件长度。对磁盘格式化后,在盘上建立根目录表,位置在文件分配表之后,其中所
7、有表项都是空的,以后在根目录中每建立一个新的文件或子目录,就占用一个空的表项并填入相应内容。根目录表后,才是供存放文件内容的空间。子目录表是在创建子目录时生成的。它的构造与根目录表相同,创建时先占据一个簇,以后随着其中文件个数的增加还可以扩大到更多簇。当删除一个文件或子目录时,写在盘上的文件内容并不真正清除,相应的目录项中的内容也不全部清除,只有表项中文件名或子目录名的第一个字节被改写为E5H,同时,这个文件或子目录占用的各簇在文件分配表中的对应项被改写成“未占用”。以后,操作系统在使用目录表时,只要表项中存放名字的第一个字节的内容是E5H,即当做空的表项进行处理。,二、硬盘的存储结构 硬盘通
8、常由若干盘片组成,存放数据的各个盘面分别称为0面、1面、2面等,每个面都有一个专门的读写磁头,一个盘片有上下两个磁头。硬盘各面上磁道号相同的磁道的集合,称为一个柱面(Cylinder)。每个面上的磁道数根据硬盘的规格不同而异,可以从数百到数千,每个磁道上的扇区数可多达63个。硬盘上的扇区标志不是在一般的格式化时形成的,而是在“低级格式化”时形成的。和软盘不同,硬盘的磁道中,扇区号不是依次连续排列,而是按某个间隔跳跃排列,这个间隔的数字称为交叉因子(也称为交错因子)。主机从磁盘读写数据时,往往要顺序读写逻辑扇区号相连的若干个扇区,对每个扇区,不但要读写512 B数据,还要进行一些传送、处理工作,
9、如果扇区号相连的扇区在实际排列位置上也相邻,由于磁盘的高速旋转,一个扇区读写后,必要的传送、处理尚未完成,下一个要读写的扇区已经转到磁头下,等到能够读写时,位置已经错过,只能等待下一次再转过来。适当选择交叉因子,能使相邻扇区号的两个扇区经过磁头下的时间间隔恰与上一个扇区的读写、传送、处理的总时间相当,这样就能避免不必要的等待,提高存取数据的速度。,ROM BIOS的任务之一,就是实现对磁盘的操作。当系统软件或应用软件需要存取磁盘上某一扇区的数据时,它们并不直接跟磁盘驱动器这一硬件设备打交道,而是把磁头号、磁道号、扇区号组成的扇区地址传送给BIOS,由BIOS去执行一系列复杂的操作,完成读写任务
10、。BIOS的设计者规定,向BIOS传递读写磁盘的要求时,用1个字节表示磁头号、用2个字节表示磁道号(10位)和扇区号(6位)。各种软件在通过BIOS读写硬盘时,都必须遵循这一规定。设计者当时面对的是容量很小的硬盘,考虑到以后的发展,留有很大的余量,允许的最大硬盘容量为504MB(厂商标注528MB)。但近年来,硬盘技术发展迅速,容量不断增加,超过500MB的硬盘被普遍使用,其磁道数超过1024,每磁道扇区数达到63个,已无法在2 个字节中容纳磁道号和扇区号了。然而,由于遵循原有规定的系统软件和应用软件大量存在,这一规定不能轻易更改。,目前由于技术上的原因,大容量的硬盘虽然磁道数很多,但磁头数(
11、面数)尚未用足,因此,可以把一个磁头数较少、磁道数很多的真实磁盘,看做一个磁头数较多、而磁道数不超过1024的“逻辑磁盘”,系统软件和应用软件面对的是这个逻辑磁盘,它的每个扇区都对应真实磁盘的一个扇区,这就是“逻辑块地址”(Logic Block Addressing,简称LBA)方式。当软件要对某个扇区进行读写时,BIOS就自动地根据确定的对应关系进行换算,求得真实的磁头号、磁道号和扇区号,向硬盘发出读写命令。硬盘的容量较大,通常可以划分为几个分区(Partition),这样可以在同一个硬盘上安装两种以上的操作系统。为实现分区,硬盘上的数据存储结构与软盘不同,0面0道1 扇区称为主引导扇区,
12、其中的512B包含着主引导程序、分区表和最后2字节的校验码。,分区表有4个表项,可以对应4个分区,每个表项占用16B,结构如下:对第一个硬盘,驱动器标志的可能取值是80H和00H,在4个表项中,只有1个是80H,指明启动时使用这个分区的操作系统(一台机器只能在一个操作系统的控制下工作,硬盘上安装多种操作系统时,一次只能运行其中之一),这个分区称为活动分区(Active Partition)对第二、第三硬盘,驱动器标志依次为81H、82H。系统标识表示分区中安装的是什么操作系统,例如06H表示DOS 包括Windows 95/98、Windows NT),02H表示UNIX。DOS扩展分区则用05H表示。对安装DOS、Windows95/98等操作系统的分区,分区中的起始扇区,像软盘的第1个扇区一样,是引导扇区,其后有文件分配表、根目录等。从硬盘启动时,经过硬件检测后首先将主引导扇区读入内存,然后执行主引导程序。这段程序的主要任务是查看分区表,找到活动分区后,即从这个分区的起始扇区读入引导记录,以后的过程就与软盘启动类似了。,