硬盘数据组织结构.docx
- 文档编号:5355998
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:9
- 大小:22.67KB
硬盘数据组织结构.docx
《硬盘数据组织结构.docx》由会员分享,可在线阅读,更多相关《硬盘数据组织结构.docx(9页珍藏版)》请在冰豆网上搜索。
硬盘数据组织结构
下面是一个分了三个区的整个硬盘的数据结构
MBR
C盘
EBR
D盘
EBR
E盘
MBR,即主引导纪录,位于整个硬盘的0柱面0磁道1扇区,
EBR,叫做扩展MBR(ExtendedMBR),位于硬盘的某柱面0磁道1扇区
1.簇(cluster)
是DOS给文件系统分配磁盘空间的最小单位。
由若干连续的逻辑扇区组成,不同的盘,簇的大小不同,簇是从2开始编号,见表6-1。
逻辑扇区号=(簇号-2)×扇区数/簇+数据区首扇区号
2.BOOT记录:
第一部分:
0~2字节为跳转指令,转向启动码区。
第二部分:
3~10字节为厂商标识字段,如MSDOS5.0。
第三部分:
11~61字节为磁盘参数表(51字节)。
第四部分:
62~509字节为启动程序(438字节)。
最后:
55,AA字节。
51字节BPB表(BIOSParameterBlock)
OB-OC:
每扇区字节数(512)
OD:
扇区数/簇
0E-0F:
保留扇区(指Boot区)
10:
FAT个数
11-12:
根目录最大登记项数
13-14:
本分区扇区总数(小于32M的分区,大于32MB时,为0)
15:
介质描述符
16-17:
每个FAT扇区数
18-19:
每道扇区数
1A-1B:
磁头数
1C-1F:
本分区前的扇区数(隐含扇区,即从0(X)柱0头1扇到0(X)柱1头1扇之间的扇区,由于不能为DOS访问,故称为隐含扇区)。
20-23:
大容量盘总扇区数。
24:
BIOS设备号(hex:
HD=8x)
25:
未使用
26:
扩展引导标记(29H)
27-2A:
卷序列号(随机)
2B-35:
卷标,分区标识,如:
WIN98
36-3D:
文件系统格式(FAT16)
3.FAT(文件配置表)
FAT有两个,当第一个损坏时,为人工修复提供方便,DOS不会自动用第二个去修复第一个FAT,而DOS实际上没有用尽2个FAT占用的扇区,因为可作为他用。
FAT登记盘上簇的使用情况,登记项有12位、16位和32位之分,下面以16位为例说明FAT的格式。
16位FAT格式:
簇号(表项)0000H0001H0002H…NNNNH
类型保留簇使用簇
含义介质标志记录文件簇号链
保留簇的第一字节为磁盘介质标志,后为填充位,全为FFH。
使用簇可以是;
0000:
自由
FFF6:
备用
FFF7:
坏簇
FFF8-FFFF:
文件结束
其它:
文件的下一簇
4.文件目录表(根目录表FDT)
记录文件名、属性、建立时间、日期、首簇及长度的一个表。
每个文件占用表32字节,
O0-O7:
文件主名(文件被删除后,00字节为E5H)
O8-0A:
文件扩展名
0B:
文件属性
27H:
X
X
1
0
0
1
1
1
↑↑↑↑↑↑
X:
未用,填0档案子目录卷标系统隐含只读
0C-15:
保留(全0)
16-17:
建立文件的时间
18-19:
建立文件的日期
1A-1B:
文件首簇
1C-1F:
文件长度
LFNentry:
长文件名项,属性字节为0F表示LFNentry
Cr.timerefinementin10msunits:
以10ms为计时精度
5.主引导记录(MBR)
见P247图6-7和图6-8。
0柱0头1扇区(DOS系统):
000H~0EFH:
主引导程序(446字节)
0F0H~1BDH:
全0DOS系统有206个0字节,NTFS系统有58个0字节。
到此共计446字节)
1BEH~1CDH:
第一个分区表(16字节)
1CEH~1DDH:
第二个分区表(16字节)
1DEH~1EDH:
第三个分区表(16字节)
1EEH~1FDH:
第四个分区表(16字节)
1FEH~1FFH:
55H,AAH(2个字节,有效标志)
分区表:
BOOTind
H
S
CYL
SYSind
H
S
CYL
Relsect
#ofsects
Ind-indicatorSYS-SYStem
CYL-CYLinderRel-Relativesector
关于SYSind,(01:
fat12;05:
extended;06:
fat16;07:
hpfs/ntfs;0b,0d:
win95fat32;0e:
win95fat16;82:
linuxswap;83:
linux;85:
linuxextended)
例子,1BEH:
80010100040721F7210000009FFF0000
①②③④⑤⑥
①可自举分区
②分区从0柱1头1扇区开始
③DOS分区
④分区终止于7头33扇区F7(247)柱
⑤分区相对扇区号为33
⑥分区实用扇区数65339个
10MB硬盘(305柱,4头,17扇/道,8扇/簇)数据组织结构:
绝对扇区相对扇区簇描述
柱面C,磁头H,扇区S
001无无MBR
002~17无无未用
0110无DBR
012~91~8无FAT1(8扇区)
0110~179~16无FAT2
021~1717~33无FDT
031~1534~48无FDT(共32扇区)
0316492数据区首扇区
0317502数据区
101~651~562数据区
107~1457~643数据区
....
....
....
EBR:
结构和MBR类似,但没有代码部分,即两个表和55、AA。
FAT16的文件系统
主引导记录
(1扇)
…
Boot
(1扇)
FAT1
FAT2
FDT
DATA……
隐藏扇区↑保留扇区↑
0号扇区2簇
6.FAT32的文件系统
在FAT32卷上,一般存在两个Boot扇区,即工作Boot(0号逻扇)和备份Boot(一般在6号逻扇)。
⑴数据结构的变化:
主引导记录
…
Boot
(30多
…扇区)
FAT1
FAT2
FDT
DATA……
隐藏扇区↑保留扇区↑0号扇区(每个逻辑盘从此处开始编号)2簇
注:
在LBA(全称是LogicBlockAddress,即扇区的逻辑块地址)寻址方式下,系统把所有的物理扇区都统一编号,按照从零到某个最大值排列,这样只用一个序数就确定了一个唯一的物理扇区。
用WinHex读物理硬盘时看到的扇区编号就是这种。
即物理盘从0柱0头1扇开始逻辑编号,逻辑盘从Boot区开始逻辑编号,编号均从0起。
读FAT表的(若FAT为1DBAH)前两扇:
-l02202(回车)
-D0
F8FFFF0FFFFFFF0F…
读目录表:
-l023B9420(回车)
⑵磁盘参数表(03H-59H字节):
03H(占8字节):
系统版本号
0BH(2字节):
每扇字节数
0D(1字节):
每簇扇区数
0EH(2字节):
保留(32字节)
10H(1字节):
FAT个数
11H(2字节):
表示是否为FAT32文件系统,为0000H表示是。
13H(2字节):
位为00H
15H(1字节):
介质标志
16H(2字节):
未用值为00H
18H
(2):
每道扇区数
1AH
(2):
磁头数
1CH(4):
分区前隐藏扇区数
20H(4):
扇区总数
24H(4):
FAT占扇区数
28H
(2):
FAT表镜象标志,0表2个,1表1个。
2A
(2):
文件系统的主次版本
2C(4):
根目录的起始簇号
30
(2):
文件系统参数的扇区号
32
(2):
备份分区引导扇区的逻辑扇区号
34(12):
保留,未用
40
(2):
磁盘物理驱动的号
42H
(1):
磁盘读写扩展标志:
值为29H。
43H(4):
卷序列号
47H(11):
磁盘卷标号
52H(8):
文件系统的标识号
⑶FAT32文件系统的目录表
FAT32文件系统将逻辑盘的空间划分为三部分:
引导区(BOOT区)、文件分配表区(FAT区)和数据区(DATA区),引导区和文件分配表区合称系统区。
在FAT32位系统中根目录区(ROOT区)不再是固定区域、固定大小,它是数据区的一部分。
实际的“根目录”就是首簇号为2的文件。
主目录项(常规)名字字符保存项
目录项辅助目录项
(属性字节:
0FH类型信息保存项
长文件名目录项结构图
长文件名目录最后一项
………
长文件名目录第二项
长文件名目录第一项
短文件名目录项
①与短文件名相同的主目录项
其结构与上述的结构一致,其中的文件名域存放着由长文件名转换而来的短文件名,包括主文件名与后缀,具体转换方法稍后介绍;此目录项可供任何版本的MS_DOS或其它的兼容操作系统使用,此时此文件将与一般的短文件一样,WINDOWS9x同样也可以用短文件名的形式对此文件进行操作。
0-0AH:
文件名及扩展名
0BH:
文件属性
0CH:
类型(保留,填00)
0D-0FH:
文件建立时间,小时:
分:
秒:
百分秒=5:
6:
5:
8位
10-11H:
文件建立日期,年:
月:
日=7:
4:
5位
12-13H:
文件最新访问日期(定义同上)
14-15H:
开始簇号的高16位
16H-17H:
最新修改文件时间(定义同0D-0FH)
18H-19H:
最新修改文件日期(定义同10-11H)
1AH-1BH:
开始簇号的低16位
1CH-1FH:
文件长度
FAT32对8.3的FDT记录的结构作了扩展(记录长度仍为32字节),并提高了创建时间(3B)的精度:
23#-19#位——时,18#-13#位——分,12#-7#位——秒,6#-0#位——百分秒。
位移
00
08
0B
0C
0D
10
12
14
16
18
1A
1C
含义
主文
件名
扩展
名
文件
属性
保留
创建
时间
创建
日期
访问
日期
首簇号
高字
更新
时间
更新
日期
首簇号
低字
文件长度
字节数
字节数
8
3
1
1
3
2
2
2
2
2
2
4
②长文件名的名字字符保存项(辅助的目录项):
由于在短文件名目录项中只能存放长文件名的一个别名即转换后的短文件名,所以还必须利用其它的目录项存储完整的长文件名的全部字符串内容,具体结构如下:
00H:
系列号
01H-0AH:
文件名字符
0BH:
属性(0FH)
0CH:
类型
0DH:
校验和
0EH-19H:
文件名(续)
1AH-1BH:
恒为0
1CH-1FH:
名字(续)
视长文件名的长度,决定需要利用几个目录项来存放文件名,这样的目录项靠系列号保持各目录项间的先后顺序及连续性,按010203...格式排序,如果此文件没有类型保存项,则最后一个目录项的系列号在正常的序号基础上加上40H,即把123等转换为ABC字符,以提示此长文件名目录项全部结束;其中的属性字节恒为0FH,文件名字符按建立文件时的真实情况保存大小写字母,并且每个字符占两个字节。
③长文件名的类型信息保存项
这种类型的目录项并不是所有的长文件均有,只有在WINDOWS95下建立文件时指定了系统可识别的文件类型才能为此文件建立类型信息存储项,而在WINDOWS95的MS_DOS的对话状态建立的一般长文件名文件不具备此目录项,此目录项的结构如下:
00H:
系列号
01H-0AH:
文件类型信息
0BH:
属性(0FH)
0CH:
类型
0DH:
校验和
0EH-13H:
文件类型信息(续)
14H-19H:
保留
1AH-1BH:
恒为0
1CH-1FH:
保留
其中的系列号与存储长文件名字符的目录项一起排序,但是此目录项肯定是一个完整的长文件名目录项的最后一个,所以其系列号需要进行123等到ABC的转换;其中的文件类型信息也是一个字符占用两个字节,此目录项的属性位也恒为0FH。
④长文件名到短文件的转换过程
其转换规则可简单的描述如下:
首先去掉长文件中的非法(相对于短文件名规则不允许)的字符,保留长文件中的前几个字符再加上“~”和一个系号形成短文件名的主名即8个字符,其中系号由1开始,如果短文件名不唯一,则系号增一,可以是23...或1011...等,直到形成唯一的文件名为止,长文件名中保留的个数一般由系号的位数决定,如果系号为1位则长文件名可保留6位,这种情况居多,如果系号为两位数则只能保留长文件名中的5位,总之文件名必须小于8个字符;文件后缀的形成一般有两种情况,第一种情况是此长文件名具有特定的WINDOWS95可识别的类型信息,则按此类型建立后缀,比如指定为文本文件的后缀恒为TXT而不管原来长文件名是否有后缀或后缀为什么;另一种情况不存在类型信息,则此时只能简单的从原文件后缀中截取前面的头三个有效字符,如长文件名无后缀,则形成原短文件名同样没有后缀;下面举例文明长文件名“1234567890.ABCDEF”进行转换的过程:
序号为1位并且无类型信息时为:
123456~1.ABC
序号为2位并且无类型信息时为:
12345~10.ABC
指定为文本类型且序号为1位时:
123456~1.TXT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 硬盘数据 组织 结构