FAT32文件系统详解

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第八章FAT32文件系统详解Description:OS:Microsoftwindows7、MicrosoftProfessionalxpsp3Software:winhex15.2SR-10Hardware:Mega16、Kingston2GsdcardAuthor:FGDTime:200908088.1Microsoft比尔·盖茨于2008年6月27日退休了,他在微软同事的心目中是一个什么形象呢?这个当属与他一起共同执掌了微软28年之久的CEO鲍尔默最有话语权了。“他是一个比较内向的小伙子,不太爱说话,但浑身充满了活力,尤其是一到晚上就活跃起来。当时的情况是,经常在我早上醒来时,他才准备睡觉。”鲍尔默在最近接受《华尔街日报》采访时,如此形容比尔·盖茨。鲍尔默说的对,也许只有活力才是成功的最关键因素,这是比尔·盖茨留给大家最好的礼物!1.Lifeisunfair,youwanttoadaptit.2.Theworldwillnottakeyourself-esteem,butfortheself-satisfactionbeforeyouhavesuccess.3.Justreturnedfromtheschoolcomeoutwhenyoucannotearn60,000U.S.dollarsamonth,butwillnotbecomeanycompanyvicepresident,alsoownedacaruntilyouhavewonthehandofthosethatday.4.Ifyouthinkschoolteachersistooharsh,thenyouhavetothinkbacktotheboss.5.Sellinghamburgerandnotdetrimentaltoyourdignity.Yourgrandparentshadadifferentunderstandingtosellhamburger,theycalleditopportunity.6.Ifyougetintodifficulties,itisnotthefaultofyourparents,youshouldnotbetheresponsibilityontoothers,andtolearntolearnfromit.7.Beforeyouwereborn,yourparentsdonotlikesoboring.Theylookintothistodaybecausetheseyearshavebeenforyoutopaybills,toyourlaundry.So,intalkingtoparents,orwhatevercleaningyourownhouse?8.Youmaynolongerhostschoolhoursandpoorhealththemselves,butlifeisnotthecase.Insomeschoolshadnotfailconcept,theschoolwillcontinuetogiveyoutheopportunityforyoutoprogress,butreallifeisnotlikethat.9.Unlikeinthelifeoutofschoolafterasemesterofthesameschoolhours,northatthesummer.Nobosstohelpyoufindsomeself-andyoumustrelyonitsowntocomplete.10.Manyofthescenesontelevisionisnotreallife.Inreallife,peoplemustdotheirburiedinhiswork,notlikeTVwheremydailydwellinthecaseofcoffeeLane.11.Treatyouraversiontothepeople,becausetheredaysyouwillworkforsuchaperson.8.2先说说硬盘【笔者按:这部分知识基本是笔者对《数据重现》一书(作者:马林)读书笔记的整理,要了解详更详细的细节,可参考该书或求助互联网。】8.2.1硬盘结构硬盘基本上由两大部分组成:控制电路板和盘体。1.控制电路板控制电路板是由接口、DSP处理器、ROM、缓存、磁头驱动电路和盘片电机驱动电路等等组成。2.盘体盘体由盘腔、上盖、盘片电机、盘片、磁头、音圈和其他辅助组件组成。【以上专业名词希望读者可以通过互联网了解】8.2.2硬盘接口1.IDE接口(IntegratedDriveElectronics)2.SCSI接口(SmallComputerSystemInterface)SCSI硬盘接口有三种,分别是50针(N-Narrow)、68针(W-Wide)和80针(SCA-SingleConnectorAttachment)。3.SATA接口(Serial-ATA)IDE系列属于Parallel-ATA(并行),SATA是一种新的标准,目前已成为硬盘的主流接口。4.SAS接口(SerialAttachedSCSI)即串行SCSI接口。5.IEEE1394接口IEEE1394并不是硬盘专用接口,但它却可以方便的链接包括硬盘在内的63个不同设备,并支持即插即用和热插拔。在数据传输率方面,IEEE1394可以提供100MB/S、400MB/S、1.2GB/S三档高速传输率,是现在所有硬盘望尘莫及的。8.2.3磁道、扇区、柱面1.磁道当磁盘在旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。每张盘片上的磁道由外向内依次从“0”开始进行编号。虽然磁道的编号是“由外向内依次从“0”开始进行编号”,但这并不意味着“0”磁道是位于磁盘片的最外沿的。固件区的物理位置有的位于比“0”磁道更靠近磁盘片的外缘的磁道上。有的位于磁盘片的中部。2.扇区磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区。每个扇区大小为512字节。扇区从“1”开始编号。3.柱面磁盘通常由重叠的一组盘片构成。前面提到,每个盘面都被划分为树木相等的磁道,并从外圈的“0”开始编号,具有相同编号的磁道形成一个圆柱,这个圆柱我们称之为磁盘的柱面。磁盘上数据的存取是沿柱面进行的,也就是在一个柱面内依次从低号盘片向高号盘片写入,写满一个柱面后再转到下一个柱面。磁盘的柱面数与一个盘面上的磁道数相等。由于每一个盘面都有自己的磁头,因此,盘面数等于总的磁头数。所谓硬盘的CHS,既是Cylinder(柱面)、Head(磁头)、Sector(扇区)。8.2.4硬盘的启动过程(1)硬盘上电后,DSP首先运行ROM中的程序,部分硬盘会检查各部件的完整性。(2)然后盘片电机启动,当转速达到预定的转速时,磁头开始运行,定位到盘片的固件区,读取硬盘的固件程序和坏道表,部分硬盘会先将ROM中记忆的系列号与盘片上的进行比较,如果不一致,硬盘会终止初始化工作。(3)当所有必须的固件正确读出后,磁盘即进入就绪状态,等待接收指令进行数据的读写操作。8.2.5硬盘的性能指标1.硬盘的转速2.硬盘的数据传输率3.硬盘缓存缓存是硬盘与外部总线交换数据的场所。4.平均寻道时间平均寻道时间指的是从硬盘接到相应指令开始到磁头转移到指定磁道位置为止所用的平均时间。5.柱面切换时间6.平均潜伏期平均潜伏期指的是磁头移动到指定磁道后,还需要多少时间指定的(即要读写的)扇区才会转到磁头下进行读取或写入的相关操作。换算公式:(60*1000)/(硬盘转速*2)=平均潜伏期7.平均方位时间8.2.6寻址方式所谓寻址方式,大哥比方就好比我们看一本书,要从中找到我们要读的章节,那么要怎样才能纸袋它所在的位置呢?通常我们可以目录中找到它所在的页数,然后找到它。还有一种方法就是将所有章节都进行编号,我们只要知道它章节号,也可以找到它所在位置。同样,要访问硬盘上的数据,也需要合适的寻址方式方可准确读取数据。硬盘上的寻址方式有两种:&C/H/S寻址方式使用Cylinder(柱面)、Head(磁头)、Sector(扇区)三个参数来定位唯一的扇区地址。&LBA寻址方式LBA寻址方式即LogicBlockAddress(逻辑块地址),又称为“线性寻址模式”。(插入图片)8.3数的存储格式数的存储格式也就是数字的存储顺序。&Big-endian:也被称作“大头位序”或“大端模式”。字节由最高位向最低位依次存放,高位在前,地位在后。&Little-endian:也被称作“小头位序”或“小端模式”。字节由最低位向最高位依次存放,低位在前,高位在后。例如:有一个十六进制数“00230f4a”:Big-endian:00230f4aLittle-endian:4a0f2300在进行数据操作的时候一定要注意大小端存放格式,否则后果就是,你应该知道的。8.4DOC分区8.4.1概述说明:虽然我们的存储介质没有分区(你的u盘,sd卡等小容量存储介质肯定没有分区的吧)。但是在文件系统初始化的开始我们必须通过MBR获取分区表项的数据,以获得CHS、LBA参数以及分区大小扇区数,否则就无法知道你文件系统的起始物理扇区号!!!Microsoft将使用DOC分区体系的磁盘称为“主引导记录(MasterBootrecorder,MBR)”磁盘,这是对于使用“全局ID分区表(GUIDPartitionTable,GPT)磁盘”而言的。很多人一提到“DOC分区”,就认为只是指windows下使用的分区体系,这是对“DOC分区”的一个理解错误。“DOC分区”并不是以操作系统的不同而划定的分区体系,而是指使用“主引导记录(MBR)”的分区体系。8.4.2主引导记录扇区使用“DOC分区”体系时,磁盘的第一个——也就是0号扇区被称为主引导记录扇区,也称为主引导记录MBR(MasterBootrecorder,MBR)。1.MBR数据结构MBR由446个字节的引导代码、64字节的主分区(4个)表及两个字节的签名值“55AA”组成。我们可以用WinHex打开一个SD卡(Canon的牌子,32MB,文件系统:FAT16)的MBR查看:(说明,不知为什么,用WinHex无法看到SD卡文件系统以前的扇区数据,也许是笔者没有发现吧!没有WinHex,怎么办?好办!我们可以通过读取SD卡0号扇区的数据,然后用串口发回到计算机的超级终端观察。所以下面的数据是笔者在调试过程中用uart获取的)我们可以看到前446字节的数据全是0,怎么回事?我也不知道,可能是因为SD卡不存在系统引导问题,所以将所有数据用0来填充。接下来的64字节的数据就是我们所关心的重要数据。首先先介绍一下分区表项的数据结构:分区表项共占用64字节数据,共四个分区表项,图示中用黄色长条标记的是第一个分区表项。分区表项数据结构偏移(十六进制)字节数描述00~001可引导标志,0x00不可引导,0x80可引导01~033分区起始CHS地址04~041分区类型05~073分区结束CHS地址08~0B4分区起始LBA地址(Little-endian顺序)0C~0F4分区大小扇区数(Little-endian顺序)说明:分区起始CHS地址:第一个字节用于记录分区起始磁头号。第二个字节的低6位用于记录分区起始扇区号用10个bit记录分区起始柱面号:第二个字节的高两位作为起始柱面号的高两位,第三个字节的8个bit作为分区起始柱面号的低8位。现在我们来分析一下上面所示图中的数据:00-00(00)不可引导01~03(001401)该处我们不做分析,因为SD卡不存在柱面问题,有兴趣的朋友可有用WinHex打开一个FAT32的硬盘,然后算算CHS。04~04(04)分区标志。这个地方有一张表格(分区标志类型值及其含义),请读者自行上网查询。05~07(DA6003)此处不介绍08~0B(00000033)这正是我们要获取的数据,通过计算可知它是51,它很重要,因为

1 / 30
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功