预备知识1课件_第1页
预备知识1课件_第2页
预备知识1课件_第3页
预备知识1课件_第4页
预备知识1课件_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

主要内容硬盘结构文件系统计算机的引导过程中断内存管理EXE文件的格式第2章预备知识主要内容硬盘结构第2章预备知识2.1.1硬盘的物理结构绝大多数硬盘在结构上都是温彻斯特(Winchester)盘,其核心就是:磁盘片被密封、固定并且不停高速旋转,磁头悬浮于盘片上方沿磁盘径向移动,并且不和盘片接触2.1硬盘结构简介2.1.1硬盘的物理结构绝大多数硬盘在结构上都是温彻斯特2.1.1硬盘的物理结构低级格式化与硬盘的基本参数对于一块新硬盘,低级格式化的过程已经由生产厂家在产品出厂前完成了低级格式化的主要目的是将盘面划分成磁道、扇区和柱面2.1硬盘结构简介早期:3D参数(CHS)Cylinder-最大1023-10bit存储表示一个盘片上有几条磁道Head-最大255-8bit存储表示磁盘有几个盘面Sector-最大63-6bit存储表示一条磁道有几个扇区特别注意C、H从0开始;而S从1开始一个扇区通常是512个字节早期每个磁道具有相同扇区数2.1.1硬盘的物理结构低级格式化与硬盘的基本参数2.12.1.1硬盘的物理结构基本INT13H调用BIOSINT13H调用是BIOS提供的磁盘基本输入输出中断调用,它可以完成磁盘(包括硬盘和软盘)的复位、读写、校验、定位、诊断、格式化等功能,完全不用考虑被操作硬盘安装的是什么操作系统使用CHS寻址方式

柱面-磁头-扇区只能访问8GB左右的硬盘老式硬盘缺点:每个磁道扇区数相等。2.1硬盘结构简介2.1.1硬盘的物理结构基本INT13H调用2.12.1.1硬盘的物理结构现代硬盘结构简介老式硬盘,每个磁道扇区数相等改用等密度结构生产硬盘,外圈磁道的扇区比内圈磁道多硬盘不再具有实际的3D参数寻址方式也改为线性寻址,即以扇区为单位进行寻址现代大容量硬盘一般采用LBA(LogicBlockAddress)线性地址来寻址,以替代CHS寻址。在LBA方式下,系统把所有的物理扇区都按某种方式或规则看做是一线性编号的扇区,即从0到某个最大值方式排列,这样,只用一个序数就能确定一个唯一的物理扇区。这就是线性地址扇区的由来,显然线性地址是物理扇区的逻辑地址2.1硬盘结构简介2.1.1硬盘的物理结构现代硬盘结构简介2.1硬盘结CHS到LBA假设用C表示当前柱面号,H表示当前磁头号,c表示起始柱面号,h表示起始磁头号,s表示起始扇区号,PS表示每磁道有多少个扇区,PH表示每柱面有多少个磁道,则有以下对应关系:LBA=(C-c)*PH*PS+(H-h)*PS+(S-s)

一般情况下,c=0、h=0、s=1;PS=63、PH=255

C/H/S=0/0/1,代入上述公式中得到LBA=0

C/H/S=0/0/63,代入上述公式中得到LBA=62

C/H/S=220/156/18,代入上述公式中得到LBA=3544145CHS到LBA假设用C表示当前柱面号,H表示当前磁头号,c表LBA到CHSc=0、h=0、s=1;PS=63、PH=255/整除;MOD求余;C=LBA/(PH*PS)+c

H=(LBA/PS)MODPH+Hs

S=LBAMODPS+sLBA=0,相应地C/H/S=0/0/1

LBA=62,相应地C/H/S=0/0/63

LBA到CHSc=0、h=0、s=1;PS=63、PH=252.1.1硬盘的物理结构扩展INT13H虽然现代硬盘都已经采用了线性寻址,但是由于基本INT13H的制约,使用BIOSINT13H接口的程序,如DOS等还只能访问8G以内的硬盘空间。为了打破这一限制,Microsoft等几家公司制定了扩展INT13H标准(ExtendedINT13H),采用线性寻址方式存取硬盘,所以突破了8G的限制,而且还加入了对可拆卸介质(如移动硬盘、优盘)的支持2.1硬盘结构简介2.1.1硬盘的物理结构扩展INT13H2.1硬盘2.1.1硬盘的物理结构分区与高级格式化硬盘在使用时,是按照不同的区域存储数据的,硬盘分区就是划分区域的过程。划分好的每一个区域都称作一个分区,最多可以划分为四个主分区。这项工作由分区程序来完成,通常使用FDISK或磁盘管理工具软件在分区的过程中,分区程序向0柱面0磁头1扇区写入主引导记录MBR(MasterBootRecord)和分区记录表DPT(DiskPartitionTable),并建立一个分区表链,所有的逻辑驱动器写入链表记录。硬盘的分区格式常用的分区格式有四种:FAT16、FAT32、NTFS和Linux硬盘分区后还不能直接使用,要在每个分区内建立完整的存储系统后才能正常使用。建立存储系统的工作一般由FORMAT程序来完成,这个过程称为高级格式化高级格式化的目的是在分区内建立分区引导记录DBR(DOSBootRecord)、文件分配表FAT(FileAllocationTable)、文件目录表FDT(FileDirectoryTable)和数据区DATA2.1硬盘结构简介存放系统主引导程序,负责从活动分区中装载并运行系统引导程序作业:MBR反编译,分析主引导程序功能。2.1.1硬盘的物理结构分区与高级格式化2.1硬盘结2.1.2硬盘的数据结构主引导扇区的组成主引导扇区(BootSector)也就是硬盘的第一个物理扇区(0柱面0磁头1扇区)主引导记录(MasterBootRecord,MBR)主分区表即磁盘分区表(DiskPartitionTable,DPT)引导扇区标记(BootRecordID/Signature)完成系统主板BIOS向操作系统交接的重要入口2.1硬盘结构简介主引导扇区结构图合法引导区标志2.1.2硬盘的数据结构主引导扇区的组成2.1硬盘结隐藏扇区主引导扇区0|0|1所在的磁道称为0磁道,是隐藏磁道这个磁道的63个扇区都是隐藏扇区

Debug读写Winhex2.1硬盘结构简介2.1.2硬盘的数据结构Format对它们也无能为力!隐藏扇区2.1硬盘结构简介2.1.2硬盘的数据结构F2.1.2硬盘的数据结构硬盘主分区表结构简介2.1硬盘结构简介偏移字节字段长度值字段名和定义0x01BEBYTE0x80引导指示符号(BootIndicator)0x01BFBYTE0x01起始磁头号(StartHead)0x01C0WORD6位0x01起始扇区号高2位为起始柱面号9-10位0x01C110位0x00起始柱面号(StartCylinder)0x01C2BYTE0x07系统ID(SystemID),定义了分区的类型0x01C3BYTE0xFE结束磁头号(EndHead)0x01C4WORD6位0xBF结束扇区号(EndSector)0x01C510位0xFC结束柱面号(EndCylinder)0x01C6DWORD0x0000003F相对扇区数(RelativeSectors)0x01CADWORD0x00BB867E总扇区数(TotalSectors),该分区中扇区总数2.1.2硬盘的数据结构硬盘主分区表结构简介2.1硬注意:在dos/windows系统中,基本分区一柱面为单位划分(以1柱面的容量为分区粒度)如果磁盘总空间不是柱面的整数倍,那么不够一个柱面的空间就是剩余空间,这部分空间不参与分区浪费,并且成为病毒的藏身之地。问:对于CHS为764/255/63的硬盘,分区的最小尺寸是多少?2.1.2硬盘的数据结构2.1硬盘结构简介注意:在dos/windows系统中,基本分区一柱面为单位划通过主引导记录定义的硬盘分区表,最多只能描述4个分区---不够用,无法满足需求一个主分区定义为扩展分区-可进一步分区,满足需求2.1.3扩展分区与扩展MBR简介2.1硬盘结构简介通过主引导记录定义的硬盘分区表,最多只能描述4个分区---不2.1.3扩展分区与扩展MBR简介微软采用虚拟MBR的技术-主MBR在定义分区的时候,将多余的容量定义为主扩展分区。该分区中还可以进一步划分一个基本分区和一个扩展分区。虚拟MBR(扩展MBR,ExtendedMBR,EBR)没有引导和错误提醒信息部分。用以描述分区的扇区形成一个“分区链”,通过这个分区链,就可以描述所有的分区-逻辑锁2.1硬盘结构简介2.1.3扩展分区与扩展MBR简介微软采用虚拟MBR的技29302560*51237E3E4000H97659135*512=BA451FE00H+37E3E4000H=F22903E00H29302560*51237E3E2.1.3扩展分区与扩展MBR简介扩展分区和逻辑盘2.1硬盘结构简介2.1.3扩展分区与扩展MBR简介扩展分区和逻辑盘2.12.1.3扩展分区与扩展MBR简介3主分区(其中一个用作扩展)的磁盘结构图2.1硬盘结构简介一个3主分区的磁盘结构扩展分区表链接示意图2.1.3扩展分区与扩展MBR简介3主分区(其中一个用作2.2.1文件系统简介2.2文件系统主引导记录(MasterBootRecord,MBR)磁盘分配表DPT操作系统引导记录(DOSBootRecord,DBR)文件分配表(FileAllocationTable,FAT)文件目录表(FileDirectoryTable,FDT)数据区在低级格式化,磁盘被分成每块512BFAT文件系统将多个扇区合并成一个簇(cluster)2.2.1文件系统简介2.2文件系统主引导记录(Ma2.2.2FAT32DBRDBR区(DOSBootRecord)引导扇区2.2文件系统2.2.2FAT32DBRDBR区(DOSBootBPBBIOSParameterBlockBPBBIOSParameterBlock2.2.3FAT16DBRFAT12和FAT16中的DBR与FAT32中的DBR的基本含义类似,只是相关偏移量和参数意义有小的差异2.2文件系统偏移字节字段长度(字节)字段名称0x003跳转指令(JumpInstruction)0x038OEMID0x0B25BPB0x2426扩展BPB0x3E448引导程序代码(BootstrapCode)0x01FE4扇区结束标识符(0x55AA)2.2.3FAT16DBRFAT12和FAT16中的D2.2.4保留扇区在FAT文件系统DBR的偏移0x0E处,用2个字节存储保留扇区的数目。所谓保留扇区(有时候也称作系统扇区、隐藏扇区),是指从分区DBR扇区开始的仅为系统所有的扇区,包括DBR扇区。在FAT16文件系统中,通常设置为1,即仅仅DBR扇区。而在FAT32中,保留扇区的数据通常取为32FAT32中的保留扇区除了磁盘总第0扇区用作DBR,总第2扇区(Windows98系统)或总第0xC扇区(Windows2000/XP)用作OS引导代码扩展部分外,其余扇区都不参与操作系统管理与磁盘数据管理,通常情况下是没作用的操作系统之所以在FAT32中设置保留扇区,是为了对DBR作备份或留待以后升级时用。FAT32中,DBR偏移0x32占2字节的数据指明了DBR备份扇区所在,一般为第6扇区。当FAT32分区DBR扇区被破坏导致分区无法访问时,可以用第6扇区的原备份替换第0扇区来找回数据2.2文件系统2.2.4保留扇区在FAT文件系统DBR的偏移0x0E处2.2.5FAT16存储原理当把一部分磁盘空间格式化为FAT文件系统时,FAT文件系统就将这个分区当成整块可分配的区域进行规划,以便于数据的存储FAT16是Microsoft较早推出的文件系统,具有高度兼容性,目前仍然广泛应用于PC机尤其是移动存储设备中2.2文件系统FAT16的组织形式2.2.5FAT16存储原理当把一部分磁盘空间格式化为2.2.5FAT16存储原理FAT表记录了磁盘数据文件的存储链表(簇号链表)FAT表以“F8FFFFFF”开头,此4字节为介质描述单元,并不参与FAT表簇链关系。小红字标出的是FAT扇区每2字节对应的簇号相对偏移0x4~0x5为第2簇(顺序上第1簇),为“FFFF”,表示存储在第2簇上的文件/

温馨提示

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

评论

0/150

提交评论