 鲜花( 0)  鸡蛋( 0)
|

楼主 |
发表于 2007-6-6 15:38
|
显示全部楼层
硬盘的DOS管理结构
/ y1 U- t+ n( Y7 ^" i1.磁道,扇区,柱面和磁头数
6 a* e/ m/ ?+ X0 t' r. z" ], G 硬盘最基本的组成部分是由坚硬金属材料制成的涂以磁性介质的盘片,不同容量硬盘的盘片数不等。每个盘片有两面,都可# v0 ^7 N; ~: A- U& V8 t
记录信息。盘片被分成许多扇形的区域,每个区域叫一个扇区,每个扇区可存储128×2的N次方(N=0.1.2.3)字节信息。在DOS
, ~* v6 s8 q* }6 b中每扇区是128×2的2次方=512字节,盘片表面上以盘片中心为圆心,不同半径的同心圆称为磁道。硬盘中,不同盘片相同半径
' ^* ?: u: T) @ I4 C$ O的磁道所组成的圆柱称为柱面。磁道与柱面都是表示不同半径的圆,在许多场合,磁道和柱面可以互换使用,我们知道,每个磁
7 {% U0 c5 y" E盘有两个面,每个面都有一个磁头,习惯用磁头号来区分。扇区,磁道(或柱面)和磁头数构成了硬盘结构的基本参数,帮这些
& m5 A& M& W0 s I/ Z( p! \- Q参数可以得到硬盘的容量,基计算公式为:
/ L2 }9 d1 a* {% I3 _/ n) w/ T存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数' J3 Z2 S1 U0 a
要点:(1)硬盘有数个盘片,每盘片两个面,每个面一个磁头1 o$ r* w1 @% v: @$ h
(2)盘片被划分为多个扇形区域即扇区( W( y& w& X9 [" a) H, l
(3)同一盘片不同半径的同心圆为磁道5 T) D/ n, s2 }. i1 d
(4)不同盘片相同半径构成的圆柱面即柱面, H1 r0 I$ [) t. J% W, w
(5)公式: 存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数7 Q4 O! U+ _% d" F6 u9 _
(6)信息记录可表示为:××磁道(柱面),××磁头,××扇区
! M) [; e2 ^( o3 T6 s9 P! {/ D2.簇
/ t2 i9 | O) T' K8 C# e( v “簇”是DOS进行分配的最小单位。当创建一个很小的文件时,如是一个字节,则它在磁盘上并不是只占一个字节的空间,- p$ S: A& B3 o8 [: E
而是占有整个一簇。DOS视不同的存储介质(如软盘,硬盘),不同容量的硬盘,簇的大小也不一样。簇的大小可在称为磁盘) T9 ^1 w: v& X ?
参数块(BPB)中获取。簇的概念仅适用于数据区。
- d* F& D3 x8 @本点:(1)“簇”是DOS进行分配的最小单位。
8 y/ a. M. b. z, t6 M (2)不同的存储介质,不同容量的硬盘,不同的DOS版本,簇的大小也不一样。6 D, r2 M* k' S9 h2 h: {- j: N
(3)簇的概念仅适用于数据区。
$ @9 h/ j0 Z2 S- M4 G3.扇区编号定义:绝对扇区与DOS扇区
) C, s/ V* x* T 由前面介绍可知,我们可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域,或是说柱面/磁头/扇区与磁盘上每一个扇区有
! G& e# u' U5 p* Y一一对应关系,通常DOS将“柱面/磁头/扇区”这样表示法称为“绝对扇区”表示法。但DOS不能直接使用绝对扇区进行磁盘上的
. u. m3 b X6 B9 [信息管理,而是用所谓“相对扇区”或“DOS扇区”。“相对扇区”只是一个数字,如柱面140,磁头3,扇区4对应的相对扇区号; i8 g; ^% ~+ a8 Q3 k
为2757。该数字与绝对扇区“柱面/磁头/扇区”具有一一对应关系。当使用相对扇区编号时,DOS是从柱面0,磁头1,扇区1开始
6 _1 N, D) z" j(注:柱面0,磁头0,扇区1没有DOS扇区编号,DOS下不能访问,只能调用BIOS访问),第一个DOS扇区编号为0,该磁道上剩余
/ ]! @+ ~5 C0 A1 W, c4 f的扇区编号为1到16(设每磁道17个扇区),然后是磁头号为2,柱面为0的17个扇区,形成的DOS扇区号从17到33。直到该柱面的
& @+ C a: b- i: G5 r2 w0 P所有磁头。然后再移到柱面1,磁头1,扇区1继续进行DOS扇区的编号,即按扇区号,磁头号,柱面号(磁道号)增长的顺序连续
. d; { \# m% W) M地分配DOS扇区号。2 P0 y, S) ^/ a* X- Q5 I% q% B/ O" ]7 r
公式:记DH--第一个DOS扇区的磁头号- n* V4 [& {2 M. T) z% r
DC--第一个DOS扇区的柱面号; ]- B; e- z- b# w2 h: [& X
DS--第一个DOS扇区的扇区号
1 Q3 s" B1 a- ^& Y5 O+ V NS--每磁道扇区数* F* N9 T# F" B+ [* \+ f7 X+ P
NH--磁盘总的磁头数8 c8 g& a4 m5 |( z, o% i$ \7 i
则某扇区(柱面C,磁头H,扇区S)的相对扇区号RS为:3 Y. G& k) C- [+ _: y
RS=NH×NS×(C-DC)+NS×(H-DH)+(S-DS)
+ r2 d) m$ A3 L3 \1 u x3 M 若已知RS,DC,DH,DS,NS和NH则: J! ~. [' ]8 F2 Z! l
S=(RS MOD NS)+DS
/ Q( K. ]9 z" @5 h+ WH=((RS DIV NS)MOD NH)+DH
F6 S3 V( Z. P& B8 \0 S) D3 QC=((RS DIV NS)DIV NH)+DC
- Z( m2 G/ }* N) H; c要点:(1)以柱面/磁头/扇区表示的为绝对扇区又称物理磁盘地址
/ u; F' o% `5 g/ k! @, y2 ] (2)单一数字表示的为相对扇区或DOS扇区,又称逻辑扇区号* Q% J7 F9 v% \, @
(3)相对扇区与绝对扇区的转换公式$ m7 f3 a* ` a9 Q6 {, `
4.DOS磁盘区域的划分- |, L, k. y Y5 G3 a( O) `& E3 n
格式化好的硬盘,整个磁盘按所记录数据的作用不同可分为主引导记录(MBR:Main Boot Record),Dos引导记录(DBRos
0 H0 p: G" c3 S" g0 gBoot Record),文件分配表(FAT:File Assign Table),根目录(BD:Boot Directory)和数据区。前5个重要信息在磁盘的外9 l2 X0 \( [8 h
磁道上,原因是外圈周长总大于内圈周长,也即外圈存储密度要小些,可伤心性高些。
+ R* {7 g" c/ n3 l要点:(1)整个硬盘可分为MBR,DBR,FAT,BD和数据区。( P" Z2 |! ?" a! v
(2)MBR,DBR,FAT,和BD位于磁盘外道。
* ^3 E% Z$ j D9 K! t5.MBR) E. V4 B+ {; K$ k1 F U
MBR位于硬盘第一个物理扇区(绝对扇区)柱面0,磁头0,扇区1处。由于DOS是由柱面0,磁头1,扇区1开始,故MBR不属于) q$ e$ c7 ` b6 W9 s `) N5 S
DOS扇区,DOS不能直接访问。MBR中包含硬盘的主引导程序和硬盘分区表。分区表有4个分区记录区。记录区就是记录有关分区信8 p. H# p0 n) S7 G) Z
息的一张表。它从主引导记录偏移地址01BEH处连续存放,每个分区记录区占16个字节。; m" Z( [9 j& A8 L( J, J6 L
分区表的格式
, |4 ^ A J! ^. I2 [% }$ B- B分区表项的偏移 意义 占用字节数( V( B {; D% L
00 引导指示符 1B1 e$ f& C& D. f1 n, M }' Y. i
01 分区引导记录的磁头号 1B
& T) e! x3 ]7 P' M6 @% S2 y0 l( |5 F 02 分区引导记录的扇区和柱面号 2B
E. w6 J* _6 K/ I/ s! R0 e- |6 S 04 系统指示符 1B& k+ z a3 E5 Q, p" h# K
05 分区结束磁头号 1B I1 Z- ~( D P& C+ O) E# B
06 分区结束扇区和柱面号 2B
8 ^, |' D" B. T+ s* u( `8 W1 g" H. b 08 分区前面的扇区数 4B, `& r& _0 g6 c
0C 分区中总的扇区数 4B
$ w: _* _4 x) _0 I) o6 P5 c4个分区中只能有1个活跃分区,即C盘。标志符是80H在分区表的第一个字节处。若是00H则表示非活跃分区。例如:9 g6 s+ J& b e( h! K* j# m
80 01 01 00 0B FE 3F 81 3F 00 00 00 C3 DD 1F 00, @' s* v. q& `7 ~, x
00 00 01 82 05 FE BF 0C 02 DE 1F 00 0E 90 61 007 O5 _# i+ B f6 M+ G! ~( I/ ^
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ j+ _4 X: z! n: R( D; g00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- z$ |6 e! z1 |( R要点:(1)MBR位于硬盘第一个物理扇区柱面0,磁头0,扇区1处。不属于DOS扇区,
3 L, ^; `. _9 o+ G- X6 {5 Y (2)主引导记录分为硬盘的主引导程序和硬盘分区表。( E- z: j& c/ w9 d
6.DBR, m7 h1 A& n0 K q5 O
DBR位于柱面0,磁头1,扇区1,即逻辑扇区0。DBR分为两部分:DOS引导程序和BPB(BIOS参数块)。其中DOS引导程序完成
% ]- D: K V7 j4 F1 d& }: wDOS系统文件(IO.SYS,MSDOS.SYS)的定位与装载,而BPB用来描述本DOS分区的磁盘信息,BPB位于DBR偏移0BH处,共13字节。
, Y4 i8 q. J) k3 n h; [. ~它包含逻辑格式化时使用的参数,可供DOS计算磁盘上的文件分配表,目录区和数据区的起始地址,BPB之后三个字提供物理格
8 @: {5 c; O3 i) N式化(低格)时采用的一些参数。引导程序或设备驱动程序根据这些信息将磁盘逻辑地址(DOS扇区号)转换成物理地址(绝对: a" @2 H9 e0 l# C1 T; G$ P
扇区号)。BPB格式
- Y/ R- ?" Y3 Q: S序号 偏移地址 意义5 `( I- R! c( a! \. B5 b& x5 ^
1 03H-0AH OEM号7 f0 L# F, `9 h( v7 w
2 0BH-0CH 每扇区字节数
# ^3 P; [ J* V9 i# L3 0DH 每簇扇区数
5 C; ~9 E% s1 \4 0EH-0FH 保留扇区数 i% K% c4 @; @
5 10H FAT备份数, h, u. b( I& j
6 11H-12H 根目录项数
$ S0 Q5 @4 {0 M4 i, }+ n7 13H-14H 磁盘总扇区数 \8 ~% L1 `# P
8 15H 描述介质
7 B0 J" H _5 @0 s7 e; p- |9 16H-17H 每FAT扇区数+ N; I4 Z& G7 V, F
10 18H-19H 每磁道扇区数
8 X$ y, o0 l5 j+ g' w11 1AH-1BH 磁头数4 z: E# d9 Z( k
12 1CH-1FH 特殊隐含扇区数
- H9 [6 K2 J9 F+ j7 m8 `0 k3 y13 20H-23H 总扇区数
- @( [1 T5 p7 m# e+ i* e14 24H-25H 物理驱动器数5 u' a6 S0 Q, Q% p, E2 c3 d
15 26H 扩展引导签证* q6 z; p$ Z& N
16 27H-2AH 卷系列号2 A1 \ k" W3 N ~' w
17 2BH-35H 卷标号
% o% ?1 c. |2 a& U# l' a18 36H-3DH 文件系统号
8 P! T5 r3 w- m. t- ?" N% QDOS引导记录公式:6 a+ P; n6 b8 t) F1 _9 k9 ^
文件分配表≡保留扇区数
3 S, I% P4 i3 {根目录≡保留扇区数+FAT的个数×每个FAT的扇区数( H$ i; b0 B' }& a( E6 I5 f$ L$ G8 k l
数据区≡根目录逻辑扇区号+(32×根目录中目录项数+(每扇区字节数-1))DIV每扇区字节数
0 a& h/ P8 H8 I$ C% Z; W绝对扇区号≡逻辑扇区号+隐含扇区数
) O1 Y6 K2 Q( X7 z) I# _: ^; P扇区号≡(绝对扇区号MOD每磁道扇区数)+1& u7 g2 M5 y. l$ f! D# _& _
磁头号≡(绝对扇区号DIV每磁道扇区数)MOD磁头数
5 G L/ B- B7 n$ _1 L8 O0 w- g4 o磁道号≡(绝对扇区号DIV每磁道扇区数)DIV磁头数, e2 }( I0 L9 d8 u! }2 _; G X
要点:(1)DBR位于柱面0,磁头1,扇区1,其逻辑扇区号为0
9 W8 u# T( X& `) ^ (2)DBR包含DOS引导程序和BPB。# u% x7 Q( z. r5 q/ X1 P
(3)BPB十分重要,由此可算出逻辑地址与物理地址。
2 ~ u# F1 ?0 S1 B+ Y0 V7.文件分配表! Q0 u) z) R3 a4 \5 b/ G
文件分配表是DOS文件组织结构的主要组成部分。我们知道DOS进行分配的最基本单位是簇。文件分配表是反映硬盘上所
% q$ q0 g$ V8 q/ j/ x* X: R- n) J有簇的使用情况,通过查文件分配表可以得知任一簇的使用情况。DOS在给一个文件分配空间时总先扫描FAT,找到第一个可
4 d: Y; q. y# W4 G7 a4 p用簇,将该空间分配给文件,并将该簇的簇号填到目录的相应段内。即形成了“簇号链”。FAT就是记录文件簇号的一张表。5 k% a O5 M! \: M4 Q4 i
FAT的头两个域为保留域,对FAT12来说是3个字节,FAT来说是4个字节。其中头一个字节是用来描述介质的,其余字节为FFH
6 i, c; d# X# q+ Y! D8 a。介质格式与BPB相同。& s& m2 \8 R0 ^
第一个字节的8位意义:
X1 ~' v7 t% |; r: M7 6 5 4 3 2 1 0
' L4 E3 S8 [3 E( P- i9 x└─────-┘ │ │ │┌0非双面- s7 _2 {" b; F
置1 │ │ └┤
; l, F4 q* ?- X' s/ M# a; c, y! A│ │ └1双面
; z0 n7 Q& u; ^( W, L│ │┌0不是8扇区
9 r; x+ m- t* D│ └┤9 h5 k" X# Q9 k: U5 i2 G, @
│ └1是8扇区
" a2 c3 e4 z$ L6 b* |& A3 v8 b$ ^│┌0不是可换的
9 v4 |& T; v; j2 V; I└┤% g+ R: o( K7 {, J( Q: {
└1是可换的
0 L# u! T, X! T& p. k" A+ n2 R& z* FFAT结构含义
. U% @' x7 u' c( t% r, G( E+ o# RFAT12 FAT16 意义
* B* x6 M7 ]6 `: A" p/ Z+ U$ W* \000H 0000H 可用
6 @9 D* P; L, j# L8 p1 v$ ~9 b5 NFF0H-FF6H FFF0H-FFF6H 保留" C1 ~+ l2 L f, C& R' w2 \3 ^
FF7H FFF7H 坏
4 I& p, e. w, z# S/ K* s& J9 AFF8H-FFFH FFF8H-FFFFH 文件最后一个簇' K7 v* w& Y& o" i6 m6 a
×××H ××××H 文件下一个簇* a R. Q3 D1 o& z8 O# a- H6 D
对于FAT16,簇号×2作偏移地址,从FAT中取出一字即为FAT中的域。
$ x* B+ ~( j1 Z/ F9 e, t逻辑扇区号=数据区起始逻辑扇区号+(簇号-2)×每簇扇区数- w2 b& I8 i3 ?; s5 @# e
簇号=(逻辑扇区号-数据区起始逻辑扇区号)DIV每簇扇区数+2
- K+ G6 j0 W% H4 Q要点:(1)FAT反映硬盘上所有簇的使用情况,它记录了文件在硬盘中具体位置(簇)。! o6 y7 m' D1 `8 r" F6 y& B- B
(2)文件第一个簇号(在目录表中)和FAT的该文件的簇号串起来形成文件的“簇号链”,恢复被破坏的文件就是根
- b2 O6 l1 F6 \( q5 `5 E2 N' u! Y据这条链。 a7 g; c( W% I1 ~" d& v
(3)由簇号可算逻辑扇区号,反之,由逻辑扇区号也可以算出簇号,公式如上。
o; N4 B. {; @$ ~: d/ s (4)FAT位于DBR之后,其DOS扇区号从1开始。6 y: z3 [- ~1 |7 p5 m( ?
8.文件目录
, Z9 z) S' W3 _ 文件目录是DOS文件组织结构的又一重要组成部分。文件目录分为两类:根目录,子目录。根目录有一个,子目录可以有
`, i1 N- e. S多个。子目录下还可以有子目录,从而形成“树状”的文件目录结构。子目录其实是一种特殊的文件,DOS为目录项分配32字
/ I; I D+ J9 m8 t! _% x: a/ y; N节。目录项分为三类:文件,子目录(其内容是许多目录项),卷标(只能在根目录,只有一个。目录项中有文件(或子目
$ B! [+ H; c6 o( B* `! l7 \录,或卷标)的名字,扩展名,属性,生成或最后修改日期,时间,开始簇号,及文件大小。
0 h' [( @/ n% o6 J* l目录项的格式& d# ^6 w( m( j! R
字节偏移 意义 占字节数4 a0 q' o/ s4 N5 D4 R
00H 文件名 8B
% d) q4 [' g) P3 Q08H 扩展名 3B
! S+ ?) ]8 {, X% H0BH 文件属性 1B- d4 p8 W6 A8 b. o
0CH 保留 10B: }* J2 ~: ~7 C3 o8 w2 B$ n4 \
16H 时间 2B
7 U6 y" j- q6 G9 A6 x. d. k* P18H 日期 2B
" l+ B: E2 I6 f9 R1AH 开始簇号 2B
! D$ T' v, Z# |7 h1CH 文件长度 4B, ?: L5 F' P- m- \0 u
目录项文件名区域中第一个字节还有特殊的意义:00H代表未使用+ @2 M- z. F* o2 M
05H代表实际名为E5H
2 t3 p+ m' D/ A% P$ ~) DEBH代表此文件已被删除
$ A' w3 }3 M: L$ m- d5 v目录项属性区域的这个字节各个位的意义如下: 7 6 5 4 3 2 1 01 Y0 X5 ]- V0 S, `0 l$ q
未 修 修 子 卷 系 隐 只
( ], t% L- g+ q9 I8 p# Y9 b T 用 改 改 目 标 统 藏 读7 P6 S4 `" y7 e: b, `7 R( I
标 标 录 属 属 属
' B7 ]% |# ?; d* b2 G- w1 m6 \4 t 志 志 性 性 性8 X0 }5 H# |. ^9 [ F* p# S; I* n
注意:WINDOWS的长文件名使用了上表中所说的“保留”这片区域。; [- k( }; n. `2 ?/ K& E8 ]
要点:(1)文件目录是记录所有文件,子目录名,扩展名属性,建立或删除最后修改日期。文件开始簇号及文件长度的一张
2 E) b3 c1 W5 d6 T, ~ Z- v" \ 登记表.
_7 c |$ l3 f; m! L (2)DOS中DIR列出的内容训是根据文件目录表得到的。
$ A' s: x8 ^6 _. a (3)文件起始簇号填在文件目录中,其余簇都填在FAT中上一簇的位置上。& \. U$ H+ ]8 @/ d& T( L
9.物理驱动器与逻辑驱动器
5 Y0 ~- z( R$ ]0 ^ `+ B. Y$ D 物理驱动器指实际安装的驱动器。! q# W4 V+ o3 F, [+ {: W0 r
逻辑驱动器是对物理驱动器格式化后产生的。3 \+ \0 M+ E+ P' V
要点:同上。
) _% K) r3 T: a T/ K
' g W% c( U- C, w/ ~1 f6 Xwin2000注册表修改:
" r$ i+ \9 C" y6 e2 WMicrosoft Windows 2000 是一个强大的操作系统,为我们提供了以往Windows 9x从未有过的安全性能,可是你是否感觉某些地方的设置还不够呢,这里就对Windows 2000 的注册表进行一些修改来达到我们的目的。 |
|