相关sd卡fat32文件系统详细介绍_第1页
相关sd卡fat32文件系统详细介绍_第2页
相关sd卡fat32文件系统详细介绍_第3页
相关sd卡fat32文件系统详细介绍_第4页
相关sd卡fat32文件系统详细介绍_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

:FileSystemisusedtomanagefilessoftwareanddata,itispartoftheoperatingsystem.FAT32filesystemisakindofformatthatitmanagediskfiles.AndthecorrespondingotherfilesystemformatsuchasNTFS,EXT2 FileSystem;FAT32FileSystem;摘要: 文件系统是用于管理文件的软件和数据的统称,它是操作系统的一部分。T32文件系统是一种理磁盘文件的一种格式。还有相应的其他文件系统格式比如NTFS,EXT2等。 文件系统;FAT32文件系统;硬盘物理结构1控制电路板由接口,DSP处理器,ROMIDE接口(IntegratedDriveElectronics),SCSI接口(SmallComputerSystemInterface),SATA接口(Serial-ATA)(目前是主流),SAS接口,IEEE1394接口。硬盘数据是根据电、磁转换原理实现的。硬盘由一个或几个表面镀有磁性物质的金属或玻璃等物质盘片以及盘片两面所安装的磁头和相应的控制电路组成(1),其中盘片和磁头密封在无尘的金属壳中。硬盘工作时,盘片以设计转速高速旋转,设置在盘片表面的磁头则在电路控制下径向移动到指定位置然后将数据或出来。当系统向硬盘写入数据时,磁头中“写数据”电生磁场使盘片表面磁性物质状态发生改变,并在写电流磁场后仍能保持,这样数据就下来了;当系统从硬盘中读数据时,磁头经过盘片指定区域,盘片表面磁场使磁头产生感应电流或线圈阻抗产生变化,经相关电路处理后还原成数据。因此只要能将盘片表面处理得更平滑、磁头设计得更精密以及尽量提高盘片旋转速度,就能造出容量更大、读写数据速度更快的硬盘。这是因为盘片表面处理越平、转速越快就能越使磁头离盘片表面越近,提高读、写灵敏度和速度;磁头设计越小越精密就能使磁头在盘片上占用空间越小,使磁头在一张盘片上建立的磁道以的数据。2如图2硬盘由很多盘片(tter)组成,每个盘片的每个面都有一个读写磁头。如果有N个盘片。就有2N2N个磁头(Heads)0、1、2开始编号。每个盘片被划分成若干个同心圆磁道(逻辑上的,是不)每个盘片的划分规则通常是一样的。这样每个盘片的半径均为固定值R的同心圆再逻辑上形成了一个以电机主轴为轴的柱面(Cylinders)0、1、2……每个盘片上的每个磁道又被划分为几十个扇区(Sector)512字节,并按照一定规则编号为1、2、3……CylindersHeadsSector个扇区。这三个参数即是硬盘的物理参数。我们下面的很多实践需要深刻理解这三个参数的意义。所以就形成CHS寻址方式,这种寻址方式可以定位唯一的扇区地址。还有一种寻址方式是LBA寻址方式,这是一种逻辑块寻址,也称作线性寻址。主分区以及扩展分区一个硬盘主分区至少要有一个,最多四个,扩展分区可以没有,最多一个。且主分区+扩展分区总共不能超过四个。逻辑分区可以有若干个。扩展分区是不能够直接使用的,它是以逻辑分区的方式使用的。所以有如下的关系:3所示硬盘的主要3可以看到电脑硬盘只有一个主分区,那就是C盘有一个扩展分区,这个扩展分区分成三个逻辑分区D,主引导记录区MBRmasterbootrecord44MBRMBR001扇区,可以看做是硬盘的第一个扇区,它起着至关重要的作用。它由三部分组成,446个字节的主引导扇区,64字节的磁盘分区表,以及两个字节的分区结束标志。计算机在按下power按键的时候,开始执行主板的BIOS程序。进行完一系列的检测和配置之后。开始按BIOS设定来引导系统,BIOS执行完自己的程序就把指挥权交给MBR。那么MBR就是起到引导活动分区的作用。那么MBR的引导程序时用于引导活动分区的,那么活动分区又是从哪里知道的呢?如图5有更为详细的MBR结构图5MBR由改图可以知道分区表记录了四个分区信息,所以为什么主分区最多有四个的原因。如图6是第一个分6分区表里面记录该分区的详细信息,包括开始扇区,开始柱面,系统ID,结束扇区,以及总的扇区数。MBR在把指挥权交给这个活动分区来执行。还有一个重要的参数是相对扇区数,这个相对扇区数指明了这个分区的开扩展引导记录区扩展引导记录包括一个扩展分区表以及该扇区的结束标志。这个扩展分区表和MBR中的磁盘分区表大7这个扩展分区表只记录两项,一项是用于记录当前逻辑驱动器的信息,另一项是记录下一个逻辑驱动器的信息。第三个和第四个表项是不用的。这样如果硬盘要分多个分区,那么只能在扩展分区这里分多几个逻辑分区才可以。T32文件系统理论上支持最多24个分区,所以扩展分区最多可以分23个逻辑分区。88是用于三个逻辑分区的扩展分区。每个逻辑驱动器的扩展分区表的第一表项都记录本逻辑驱动的情况。第二表项都指向下一个逻辑驱动器的EBR。但是最后一个逻辑驱动器只有第一个表项记录了该驱动器的信息,第二,三,四表项都没有使用。只有这一点区别。MBR以及扩展引导记录EBRBIOS加电自检(检查整个硬件是否正常),跳到内存地址0x0fff0000地址处,并初始化一些中断向将硬盘的第一个扇区(也就是主引导记录MBR)读入内存0x00007c00检查0x00007cfe末尾处是否是0xaa55,(因为一个扇区结束标志位0xaa55),若不等于则转去尝试其他介质,如果没有其他启动介质,返回“NORAMBASIC”那么电脑死机。0x00007c00MBRMBR将自己到 处执将活动分区的第一个扇区读入内存0x00007c000xaa55,不等于则显示“MissingOperatingSystem如果找到活动分区。则将控制权转移给活动分区的引导扇区25BIOS6MBRBIOS是整个电脑启动的钥匙,那么MBR就是操作系统启动的。第10个步骤如果找到了活动分区,则将指挥权交给了该分区的引FAT32FAT329FAT32如图9,FAT32文件系统主要分为四个部分。那么上述讲到的如果MBR找到活动分区那么应该将指挥权交给DBR区。这个是一个操作系统引导扇区。每一个主分区都有一个DBR。而且每一个逻辑分区也都有各自操作系统引导记录区DBRDOSBOOTRECORD0扇区。如图10所示为DBR的结构。10DBR这个DBR结构包含着该分区重要的参数,其中跳转指令的作用是为了跳过后面的不可执行的BPB展BPBBPB以及扩展。BPBBIOSParameterBlock即基础输入输出系统参数块。BPB偏移(节长度(节2扇区字节数(BytesPerSector)512、1024、20484096.5121件系统只能有限个簇(最多为4,294,967,296个因此,通增加每簇扇区数,可以使FAT32值 和128。Windows2000的FAT32现只能创建最大为32G的分区。但是,Windows2000能够其他操作系统(Windows95、OSR2及其以后的版本)2保留扇区数 导扇区。本字段的十进制值一般为32122 分区而言,本字段必须设置为02分区而言,本字段必须设置为01描述符(MediaDescriptor),提供有关被使用的信息0xF80xF03.5MS-DOSFAT16Windows20002FAT3202每道扇区数(SectorsPerTrack)0x132头数”几何结构值。例如,在一张1.44MB3.524引导序列计算到 的数据区的绝对位移的过程中使用了值。本字段一般只对那些在中断0x13上可见的有意义。在有分区的上它必须总是为04总扇区数(LargeSector)FAT32FAT12/FAT160BPBFAT表的个数,保留扇区数,根项数,FAT扇区数,总的扇区数,扇区字节数,等等。那么多参数如何利用呢。通过这些参数可FAT表的开始扇区数,根的开始扇区数。扇区总数等等重要的参数。文件分配表文件分配表是FAT32文件系统的精华所在,因为它是通过簇来对文件以及数据进行有效的管理的。那么簇的一开始人们使用的是180kb的软盘,不久就采用360kb的软盘,为了组织这些设别上面的数据,最初的DOS开发者就设计了一个表,这个表的作用就是指示哪些扇区属于哪些文件,哪些扇区是空闲的。那么可以使得文件可以在不连续的空间里面,最大限度的利用了磁盘空间。但是后来的360kb的磁盘上有720个扇区,表中的每个记录只用了一个字节,那么这个表只能标识256则要将表的每个表项扩大。但是如果每个表项用两个字节,就表示了65536个扇区,这样将浪费磁盘空间,12FAT表来,124096个值,如果一个表项代表一个扇区(512字节),那么这个FAT表能够处理高达2MB的文件。但是由于磁盘扇区数迅速扩大,所以用每个表项来代表一个扇区来寻找位置则显得效率低下,所以引入了簇的概念。5122N次幂。最大可以达到32Kb的大小。当然FAT32文件系统的FAT表的每一个表项就是采用32位的。这样子可以更大的FAT的原012345678911FATFAT表如图11所示,FAT32文件系统的FAT表的每个表项都是32位的,那么0号簇以及1号簇是系统保留用的,从2号簇开始才是根 12012号簇开始。FAT1232FAT280如图13,显示FAT表文件簇链原理。拿文件链表1来讲解。文件链表1只占用三个簇,那FAT34,45,50FFFFFFF,5号簇就代表结束了。23都是一样的道理。这样就形成了文件和的簇链结构。非常清晰的标示了文件或者所占用的簇的块数,也可以实现对文件的不连续。文件链表1的FAT表象对应值如下表所FAT表的内00000000图13FAT表簇链原 FAT32文件系统仅仅靠文件分配表就能够管理文件的了吗?答案是否定的。还必须结合根的管FDT表,即是文件表,用于描述以及文件的名称,扩展名,属性,存放的起始位置以及大小等FDT32个字节。有两个重要的数据结构:短项数据结构和长项数据结构。14,FAT32文件系统刚刚初始化的时候就只有一个表,也就是根表。这个根什么都没有。根8512个字节,每个32字节,所16个项。这里还附有两个数据结构。9FAT区时以扇区进行管理的,而根区DATA区是以簇进行管理的,根0,1簇系统保留没用,将根命名为第2簇。那么数据区的簇就从2之后开始编号,依次递增。图 表的结 的创 的时候是如何创建的,而且又是如何在FDT区中进行记录的。图15FAT32短文件 图16FAT32长文件 首先看看图15以及图16的短文件名 项8个字节文件名,3个字节扩展名,8.3格式的文件记录形式。属性有说明是 还是文件,还有四种非关键性属性:只读,隐藏存档,系统。还包括了文件创建时间日期,文件长度用节表示,也就说文件最长为4G,大于4G就要分片了。以及文件的起始簇号的地址。只要知道文件的起始簇号的地址,就可以从FAT表的簇链结构中找出长文件名unicode10字节是用于记录文件名的第1-5的字符,每个字符占用两个字节。接着是长文件名属性标志一定是0x0F,这个是与短文件12unicode6-11的字符,同样每个字符占用两个字节,那么最后的节文件名unicode码是用于记录12-13字符的文件名,同样每个字符占我做了一个测试。我用了一个软件叫做WinHex,它是16FAT32文件系统最终是要移植到sd卡上面,所以以sd卡为例讲解。Sd卡的结构与硬盘类似sdFAT32sd卡什么都没有,有主要的DBR,FAT,FDTDATAsdMBRMBR,这个我也不清楚。FAT2簇分配给了根0,1簇未使用。根FDT0。sd卡上面创建一个叫做Mysd图17创建Mysd 情17,在根下出现了两个项,奇怪,我只创建了一个子,为什么有两个项呢,原来无论是创建还是文件,在创建短文件名项的同时还要创建长文件名0x0B可以看到第一个为长文件名0x10说明该项是子。看第二个项,第三行开始的,从0x000x0A描述的是文件或者的文件名和扩展名。由于0x20进行填充,最后节都是0,因为没有长度,最重要的信息是第四行开始的,偏移量0x14-0x15文件起始簇160x1A-0x1B16位,这个标明了该所处的开始簇号,通过这个簇FAT表中找出该到底占用多少个簇了。18,由于是没有大小的,所以分给它一个簇,那么Mysd3号簇上面。318MysdFATFAT0xFFFFFF0F,标明簇结束。好,既然这样,这个子MysdFATFDT表中记录FDT表放在什么地方了呢?当然文件和就放在了DATAFAT32结构中,DATA区域是最庞大的。19MysdMysd项中创建了两个项,这两个项一个叫做.项,一个叫做..项。分别叫做子项和父项,会发现.项与根的短文件名项中的文件创建日期时间,文件最近修改日期时间,文件长度,簇号等等都一样的。..项Mysd项创建的同时,也创建了.和..项。图19 项中的情 非有 是用户创建的,所以不仅要在 项中记载 项的内容,而且要在分配给的簇中记录 项与 项之间的关系sd卡格式化。接着在sd卡下面创建文件Mysd.txt。图20创建Mysd.txt后 的情如同20,同样的,在根 项的属性是0x20,属于归档属性。从第三行开始,从偏移量0x00-0x0A记录了文件的文件名和扩展名。不足的地方用0x20填充。第四行的偏移量0x1C-0x1F标明文件长度为0,因为刚创建文件什么数据都没有,当然为0。第四行偏移量0x14-0x15,还有偏移量0x1A-0x1B的起始簇号为0,原来文件在刚创建的时候是不分图21Mysd写入数据之后 的情如同21,发现第四行的偏移量0x1C-0x1F标明文件长度为7(0x 示0x ),并且起始簇号为3。好,那么看看FAT表中的情况。22MysdFATFAT表中,标明这个文件只占用一个簇,文件长度只有7个字节,但是占用一个簇,这个sd卡的簇(8个扇区)74096FAT32规定,一个簇只能属于但是在windows中,很多文件都是大于一个簇的,所以从整体的磁盘利用率来说还是蛮不错的。只是有FAT324G4G怎么办,没办法只能将文件截断,每4G进行。我们现在试试将文件的长度大于一个簇。我将Mysd.txt的文件长度变为了5k图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论