硬盘数据组织(二).ppt

上传人:s****8 文档编号:67215354 上传时间:2022-12-24 格式:PPT 页数:55 大小:714KB
返回 下载 相关 举报
硬盘数据组织(二).ppt_第1页
第1页 / 共55页
硬盘数据组织(二).ppt_第2页
第2页 / 共55页
点击查看更多>>
资源描述

《硬盘数据组织(二).ppt》由会员分享,可在线阅读,更多相关《硬盘数据组织(二).ppt(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 第4章 硬盘数据组织(二)“三个步骤”和“五个区域”n硬盘在存储数据之前,一般需经过低级格式低级格式化化、分区分区、高级格式化高级格式化这三个步骤之后才能使用。n其作用是在物理硬盘上建立一定的数据逻辑结构,一般将硬盘分为5个区域,分别是主主引导记录区、引导记录区、DOS引导记录区、文件分配表引导记录区、文件分配表区、文件目录表区和数据区区、文件目录表区和数据区(FAT文件格式),实现对数据的存储与管理。这5个区域在硬盘逻辑分区上的排列如下图所示 MBRDBRFAT1 FAT2 DIRDATA图:各区域在分区上的位置关系4.1 MBRnMBR,即主引导记录区,位于整个硬盘的 0 磁道 0 柱面

2、 1 扇区。n它由两部分组成,分别是主引导记录MBR(main boot record)和分区表DPT(disk partition table)。4.1.1硬盘主引导记录的结构 硬盘主引导扇区由 5 个部分组成:000H 1BDH 共 446 个字节是MBR部分;1BEH 1FDH 共 64 个字节是硬盘的四个分区表信息;1FEH 1FFH 共 2 个字节“55 AA”是硬盘主引导扇区结束(有效)标志,标志错误系统也不能启动。n每个硬盘分区表占 16 个字节,各字节的含义如下表所示。偏 移意 义偏 移意 义0自举标志 8本分区之前已用扇区数 1起始磁头号 H 92起始扇区号 S 103起始柱

3、面号 CYL 114分区格式标志 12本分区扇区总数 5终止磁头号 H 136终止扇区号 S 147终止柱面号 CYL 15n当自举标志字节为 80H 时,说明该分区是活动分区;自举标志字节为 00H 时,说明是非活动分区;80H 和 00H 以外的值,是错误的标志。常见的分区类型或称做分区格式。n00 空,DOS 或 Windows 不允许使用,视为非法 n05 Extended(EMBR)n0F Extended(MBR)n06 FATl 6 n07 HPFS/NTFS n08 AIX n0B FAT32 n82 Linux swap n83 Linux 4.1.2虚拟 MBR n通过主引

4、导记录定义的硬盘分区表,最多只能描述 4 个分区,如果想要多于 4 个分区,就要突破主引导记录中的分区描述方法,这在某些时候也是突破硬盘容量限制的一种方法。n微软为了解决这个问题,采用了一种称做虚拟 MBR 的技术。虚拟 MBR n所谓虚拟 MBR,就是让 主 MBR 在定义分区的时候,将多余的容量定义为扩展分区,指定该扩展分区的起止位置,根据起始位置指向的硬盘的某一个扇区,作 为 下一个分区表项,接着在该扇区继续定义分区。如果只有一个分区,就定义该分区,然后结束;如果不止一个分区,就定义一个基本分区和一个扩展分区,扩展分区再指向下一个分区描述扇区,在该扇区按上述原则继续定义分区,直至分区定义

5、结束。这些用以描述分区的扇区形成一个“分区链”,通过这个分区链,就可以描述所有的分区。为什么把它称为虚拟 MBR 呢?n因为定义分区的这些扇区,其对分区的描述方式与 MBR 一样(但只能有一个基本分区和一个扩展分区或只有一个基本分区),但又没有引导和错误提示信息等部分,所以称为虚拟 MBR(也称为扩展 MBR,extended MBR,EBR)n系统在启动时按照分区链的链接顺序查找分区,直至找出所有分区。这个链显然是个开链结构,如果形成一个环,系统本身并不会去判断它,它只是按照这个链忠实地寻找分区,而不进行任何额外的检测与处理。n系统就是用这种方法来使一个物理硬盘通过分区后看起来像是有多个硬盘

6、。系统能够找到 C 以外的其他逻辑盘 的惟一 办法就是,沿着虚拟 MBR 分区表项所描述的分区链查找分区。“逻辑锁”n所谓硬盘“逻辑锁”,就是让分区链形成一个环,这样系统在启动时就在分区表内循环,表现为系统无法引导,就是用软盘启动,也不能进入硬盘。虚拟MBR实例(D盘)虚拟MBR实例(E盘)虚拟MBR实例(F盘)n对于 DOS 系统的逻辑盘,其与分区表链中的对应关系如下所述。如果硬盘只有一个主分区,即将整个硬盘作为一个逻辑盘 C,则分区命令 Fdisk 只在硬盘的 0 柱面、0 磁头、1 扇区上建立一个 MBR;如果硬盘被划分成 2 4 个分区,则 Fdisk 除了在 0 柱面、0 磁头、1

7、扇区上建立一个 MBR 之外,还在扩展分区的起始扇区上都建立个虚拟 MBR,每一个虚拟 MBR 用于扩展分区上的一个逻辑盘。这些 MBR 中的各个分区表链接成一个如图 4-1 所示的分区表链。图 4-1 是一个硬盘具有 4 个逻辑盘的例子,图中说明了每个逻辑盘分区表中的四个表项所描述的内容。定义C盘描述剩余空间未用未用C:分区表表项1表项2表项3表项4定义D盘描述虚拟MBR未用未用D:分区表定义E盘描述虚拟MBR未用未用E:分区表定义F盘描述虚拟MBR未用未用F:分区表图4-1 DOS逻辑盘与分区表链的关系4.2 DBR 分析 n磁盘(硬盘指逻辑盘,从这里开始除非特别指出物理硬盘,讨论的都是逻

8、辑磁盘,讨论各分区内的文件系统的管理方式,所有分区内的逻辑扇区,都从“0”开始编号,直至其最大值 1,涵盖整个分区)的 0 扇区叫做 DOS 引导扇区,又称为 BOOT 区。由 Format(高级格式化)命令将 DOS 引导记录(DBR)写到该扇区,主要功能是完成系统的自举 DBR扇区的结构扇区的结构 它由以下5个部分组成:n跳转指令。占用3个字节的跳转指令将跳至引导代码,其内容随DOS版本而变化。n厂商标识和DOS版本号。该部分总共占用8个字节,其内容随DOS的版本而不同。nBPB(BIOS Parameter Block,BIOS参数块)。BPB从第12(0BH)字节起占用19个字节,各字

9、节内容及地址分配如表4-2所示。在该部分记录了磁盘的扇区字节数、磁头数等重要信息。该部分的内容随磁盘类型的不同而不一样。表4-2硬盘的DOS引导记录中BPB等内容地址分配表 nDOS引导程序。DOS引导程序即占用480字节的BOOT代码,负责完成DOS的3个系统文件的装入工作。这部分内容随DOS版本不同而变化。n结束标志字。结束标志占用2个字节,其值为55AA。(1)保留扇区(RS-Reserved Sector)nDOS指定的被保留用作引导区的扇区数。其值一般为1,较新的版本一般为32。除本身占用的扇区(一般为1)外,佑31各扇区保留未用,其中第6各扇区一般是BOOT的备份,在BOOT损坏时

10、,可用该扇区覆盖BOOT扇区进行修复。(2)介质描述(MD-Media Description)n向DOS提供的所用磁盘的性质。介质描述拦中的值DOS所能识别的十六进制数,不同的介质(即不同的磁盘类型)具有不同的介质描述值。硬盘的介质描述符为“F8”,不同的软盘所对应的介质描述符如表4-3所示。表4-3各种类型磁盘的介质描述值(3)隐含扇区数(HS-Hidden Sectors)n指分区表中所描述的该分区的起始扇区至该逻辑磁盘BOOT扇区之间的扇区数,即MBR或虚拟MBR至随后的逻辑磁盘BOOT之间的扇区数,一般为63。(4)DBR的主要功能及工作流的主要功能及工作流程程 nDOS/Windo

11、ws系统在引导的时候,DBR是第一个(除硬盘的MBR)之外)须装载的程序段。DBR装入内存后,即开始执行该引导程序段,其主要任务是装载DOS的系统隐藏文件IO.SYS(或IBMIO.COM)。DBR程序段所要完成的主要任务如下:(1)重新设置引导驱动器。(2)将根目录的第一个扇区(即根目录FDT中的前16个文件项)装载到内存。(3)检查FDT中的前两个文件是否是DOS的两个系统隐藏文件。(4)将其中一个系统隐藏文件(IO.SYS或IBMIO.COM)装载到内存。(5)将控制权交给该系统隐藏文件IO.SYS或IBMIO.COM。4.3文件分配表(FAT)n文件分配表(FAT)是文件管理系统用来给

12、每个文件分配磁盘物理空间的表格,它告诉操作系统,文件存放在磁盘的什么地方。1.FAT表的大小及位置表的大小及位置 nFAT在磁盘上是安排在紧接DOS引导扇区(DBR)之后的。在FAT16系统中,它总是从DOS的逻辑1扇区开始。n在磁盘上共有FAT表的两个拷贝(一个是基本FAT表,另一个是FAT表的备份),两者在磁盘上前后紧排在一起,其大小根据分区的大小不同而变化。nFAT表之后紧接着是根目录,根目录之后是数据区。在硬盘中,FAT16的文件分配表(FAT)仍然是存放在逻辑1扇区开始的若干个扇区内,一个文件分配表占用多少个扇区根据硬盘分区和逻辑盘容量大小情况的不同而不同。2.文件的簇号链文件的簇号

13、链 n磁盘格式化后,用户文件是以簇为单位存放在数据区中,一个文件至少占用一个簇。当一个文件占用多个簇时,这些簇的簇号不一定是连续,但这些簇号间有由存储该文件时确定了的顺序,即每个文件都有其特定的“簇号链”。n设一个磁盘文件长度为4个簇,其首簇号为n1,簇号链为“n1-n4-n3-n2”。该文件在FAT中的簇号链,以及其逻辑空间和物理存放空间的对应关系如图4-4所示。n在磁盘上的每一个可用的簇在FAT中就只有一个登记项,通过在对应簇号的登记项内填入“表项值”来表明数据区中的该簇是否占用、空闲或是已损坏的。损坏的簇是在格式化的过程中,通过FORMAT命令发现。在一个簇中,只要有一个扇区有问题,该簇

14、就不能够使用。磁盘上的簇在FAT中的表项占12、16或32位。nFAT文件系统是以簇为单位给文件分配磁盘空间的,每个簇在FAT表中占有一个登记项。所以,在FAT表中,簇编号也即为登记项的编号。每一个登记项作为 一个簇的标志信息按照FAT12、FAT16和FAT32结构的不同分别为1.5个字节、2个字节和4个字节。该标志信息可取的表项值及其含义如表4-5 所示。表4-5文件分配表中的每个簇号可取的表项值及其含义n从表4-5中可看出,簇在FAT中的占用1.5个字节、2个字节或4个字节的登记项必须是下列值之一:一个“0”值,表示这个簇未被分配使用。一个“001HFEFH”、“0001HFFEFH”或

15、“00000001HFFFFFFEFH”之间的值,表示该簇已经被占用,且该值即是该簇所在文件中下一个簇号的指针。一个“BAD”(FF7H、FFF7H或FFFFFFF7H),表明该簇有坏扇区,不能使用。一个“EOF”(FF8HFFFH、FFF8HFFFFH或FFFFFFF8HFFFFFFFFH之间的任一值),表明该簇是文件中的最后一簇。在FAT的簇登记项中,0号登记项和1号登记项是表头,簇的登记项从2号开始。系统隐含文件IO.SYS所在的首簇号总是0002。3.FAT表的组成格式及功能表的组成格式及功能 n表明磁盘类型。FAT的第0簇和第1簇为保留簇,其中第0字节(首字节)表示磁盘类型,其值与B

16、PB中磁介质说明符对应的磁盘类型相同。n表明一个文件所占用各簇的簇链分配情况。FAT从002簇开始分配给文件。表项值“001H-FEFH”、“0001H-FFEFH”或“00000001H-FFFFFFEFH”中的任一值表明文件的下一簇号。n文件的起始簇号由文件目录表(FDT)中每个目录登记项的第26、27字节决定,作为FAT的入口,起始簇号在FAT中的表项值即文件的第2簇号,第二簇 号的表项值即第3簇号,依此类推,直到表项值为FF8H-FFFH、FFF8H-FFFFH或FFFFFFF8H-FFFFFFFFH,表示该簇为 文件的最后一簇。n标明坏簇和可用簇。若软盘格式化时发现坏扇区,即在相应簇

17、的表项中写入FF7H(或FFF7H),表明该扇区所在簇不能使用,DOS就不会将它分配给用户文件。n磁盘上未用,但可用的“空簇”的表项值为000H(或0000H)。当需要存放新文件时,文件管理系统将它们按一定顺序分配给新文件。n虽然FAT表记录了文件所用的磁盘空间信息,但是DOS引导区、两个FAT表、文件目录区等并不由FAT表中的簇表示。4.FAT表登记项与文件的簇链表登记项与文件的簇链关系关系 文件寻找簇链的计算步骤为:n假如我们已经从文件目录表(FDT)中查得该文件的起始簇号。n将该起始簇号换为10进制数a,a即为查找下一簇号的本簇号。na*2(若是12位FAT项,则a*1.5的乘积取整),

18、即得到FAT中的相对位移b该位置存放文件簇链的下一簇号。n从该相对位移b开始取一个字(低位在前,高位在后。如果是12位的FAT项,则按以下原则:若本簇号a为偶数,则保留该字低12位,否则保留高12位)。n重复以上簇链的查找过程,直至找到其值为FF8-FFF的簇号。5.文件簇链的操作实例文件簇链的操作实例 下面用一个例子来说明文件簇链的查找过程:n假如已经从FDT中知道一个在1.44MB软盘上文件11.TXT的起始簇号为02。n0F74:0000 F0 FF FF 03 40 00 FF 5F-01 07 F0 FF FF FF FF FF._.0F74:0010 FF FF FF FF FF

19、FF FF FF-FF FF FF FF FF FF FF FF.o n由文件起始簇号2*1.5=3.0,取整后得3,即0003开始的一个字中存放下一簇号。n从FAT的第3字节开始,取一个字4003。n由于本簇号2为偶数,则保留低12位,003(第3簇)。n重复以上的查找过程:3*1.5=4.5,4.5取整后为4,即0004开始的一个字中存放下一簇号。从FAT的第4字节开始,取一个字0040。由于本簇号3为基数,则保留高12位,004(第4簇)。n再重复以上的查找过程:4*1.5=6,即0006开始的一个字中存放下一簇号。从FAT的第6字节开始,取一个字5FFFH。由于本簇号4为偶数,则保留低

20、12位,FFFH(表明第4簇为结束簇)。由此得到该文件的簇号链为:2=3=4。4.4文件目录表(FDT)n用FORMAT命令对磁盘(或逻辑盘)进行格式化的时候,就已经为整个硬盘建立了一个根目录FDT。在根目录下,用户可以用DOS命令“MD”再创建不同的各个子目录,以及子目录下的子目录。n根目录以及各级子目录都有自己的FDT。在具体操作中,系统规定用字母C-Z代表逻辑盘符,所以DOS简单地用“盘符:”表示在根目录下。根目录的作用是分配根目录下的所有文件和子目录的存储空间(逻辑扇区号),并且通过设备驱动程序接口确定有效的最大目录项。1.根目录中的根目录中的FDT n根目录的作用是分配根目录下的所有

21、文件和子目录的存储空间(逻辑扇区号),并通过设备驱动程序接口确定有效的最大目录项。n根目录下的所有文件及其 子目录在根目录的文件目录表(FDT)中都有一个“目录登记项”或简称为“目录项”。每个目录登记项占用32个字节,分为8个区域,提供有关文件或子目录 的信息。其中包括了DOS的系统文件(IO.SYS、MSDOS.SYS、和COMMAND.COM)的目录项。2.FDT中的目录项中的目录项 FDT中文件目录项内容及含义表(1)文件名 n00H目录项的空表目。nE5表示该目录项曾经使用过,但文件已被删除。n2E表示该项为子目录项。n其它任何字符表示一个文件名(或子目录名)的第一个字符的ASCII码值。(2)文件属性(3)文件创建(修改)时间 n(第22字节0-4位)以2秒为增量的二进制树n(23字节0-2位)+(22字节5-7位)为分钟n(第23字节3-7位)为小时(4)文件创建(修改)日期 n(第24字节0-4位)为日期131n(25字节0位)+(24字节5-7位)为月份1-12n(第25字节1-7位)为年号0-119(1980-2099)(5)文件首簇号 n第26、27 字节存放该文件的首簇号。系统根据FAT中该文件的单链表即可找到它的全部内容。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁