硬盤(pán)的DOS管理結(jié)構(gòu)
1.磁道,扇區(qū),柱面和磁頭數(shù)
硬盤(pán)最基本的組成部分是由堅(jiān)硬金屬材料制成的涂以磁性介質(zhì)的盤(pán)片,不同容量硬盤(pán)的盤(pán)片數(shù)不等。每個(gè)盤(pán)片有兩面,都可
記錄信息。盤(pán)片被分成許多扇形的區(qū)域,每個(gè)區(qū)域叫一個(gè)扇區(qū),每個(gè)扇區(qū)可存儲(chǔ)128×2的N次方(N=0.1.2.3)字節(jié)信息。在DOS
中每扇區(qū)是128×2的2次方=512字節(jié),盤(pán)片表面上以盤(pán)片中心為圓心,不同半徑的同心圓稱(chēng)為磁道。硬盤(pán)中,不同盤(pán)片相同半徑
的磁道所組成的圓柱稱(chēng)為柱面。磁道與柱面都是表示不同半徑的圓,在許多場(chǎng)合,磁道和柱面可以互換使用,我們知道,每個(gè)磁
盤(pán)有兩個(gè)面,每個(gè)面都有一個(gè)磁頭,習(xí)慣用磁頭號(hào)來(lái)區(qū)分。扇區(qū),磁道(或柱面)和磁頭數(shù)構(gòu)成了硬盤(pán)結(jié)構(gòu)的基本參數(shù),幫這些
參數(shù)可以得到硬盤(pán)的容量,基計(jì)算公式為:
存儲(chǔ)容量=磁頭數(shù)×磁道(柱面)數(shù)×每道扇區(qū)數(shù)×每扇區(qū)字節(jié)數(shù)
要點(diǎn):(1)硬盤(pán)有數(shù)個(gè)盤(pán)片,每盤(pán)片兩個(gè)面,每個(gè)面一個(gè)磁頭
?。?)盤(pán)片被劃分為多個(gè)扇形區(qū)域即扇區(qū)
(3)同一盤(pán)片不同半徑的同心圓為磁道
?。?)不同盤(pán)片相同半徑構(gòu)成的圓柱面即柱面
?。?)公式: 存儲(chǔ)容量=磁頭數(shù)×磁道(柱面)數(shù)×每道扇區(qū)數(shù)×每扇區(qū)字節(jié)數(shù)
?。?)信息記錄可表示為:××磁道(柱面),××磁頭,××扇區(qū)
2.簇
“簇”是DOS進(jìn)行分配的最小單位。當(dāng)創(chuàng)建一個(gè)很小的文件時(shí),如是一個(gè)字節(jié),則它在磁盤(pán)上并不是只占一個(gè)字節(jié)的空間,
而是占有整個(gè)一簇。DOS視不同的存儲(chǔ)介質(zhì)(如軟盤(pán),硬盤(pán)),不同容量的硬盤(pán),簇的大小也不一樣。簇的大小可在稱(chēng)為磁盤(pán)
參數(shù)塊(BPB)中獲取。簇的概念僅適用于數(shù)據(jù)區(qū)。
本點(diǎn):(1)“簇”是DOS進(jìn)行分配的最小單位。
(2)不同的存儲(chǔ)介質(zhì),不同容量的硬盤(pán),不同的DOS版本,簇的大小也不一樣。
?。?)簇的概念僅適用于數(shù)據(jù)區(qū)。
3.扇區(qū)編號(hào)定義:絕對(duì)扇區(qū)與DOS扇區(qū)
由前面介紹可知,我們可以用柱面/磁頭/扇區(qū)來(lái)唯一定位磁盤(pán)上每一個(gè)區(qū)域,或是說(shuō)柱面/磁頭/扇區(qū)與磁盤(pán)上每一個(gè)扇區(qū)有
一一對(duì)應(yīng)關(guān)系,通常DOS將“柱面/磁頭/扇區(qū)”這樣表示法稱(chēng)為“絕對(duì)扇區(qū)”表示法。但DOS不能直接使用絕對(duì)扇區(qū)進(jìn)行磁盤(pán)上的
信息管理,而是用所謂“相對(duì)扇區(qū)”或“DOS扇區(qū)”。“相對(duì)扇區(qū)”只是一個(gè)數(shù)字,如柱面140,磁頭3,扇區(qū)4對(duì)應(yīng)的相對(duì)扇區(qū)號(hào)
為2757。該數(shù)字與絕對(duì)扇區(qū)“柱面/磁頭/扇區(qū)”具有一一對(duì)應(yīng)關(guān)系。當(dāng)使用相對(duì)扇區(qū)編號(hào)時(shí),DOS是從柱面0,磁頭1,扇區(qū)1開(kāi)始
(注:柱面0,磁頭0,扇區(qū)1沒(méi)有DOS扇區(qū)編號(hào),DOS下不能訪問(wèn),只能調(diào)用BIOS訪問(wèn)),第一個(gè)DOS扇區(qū)編號(hào)為0,該磁道上剩余
的扇區(qū)編號(hào)為1到16(設(shè)每磁道17個(gè)扇區(qū)),然后是磁頭號(hào)為2,柱面為0的17個(gè)扇區(qū),形成的DOS扇區(qū)號(hào)從17到33。直到該柱面的
所有磁頭。然后再移到柱面1,磁頭1,扇區(qū)1繼續(xù)進(jìn)行DOS扇區(qū)的編號(hào),即按扇區(qū)號(hào),磁頭號(hào),柱面號(hào)(磁道號(hào))增長(zhǎng)的順序連續(xù)
地分配DOS扇區(qū)號(hào)。
公式:記DH--第一個(gè)DOS扇區(qū)的磁頭號(hào)
DC--第一個(gè)DOS扇區(qū)的柱面號(hào)
DS--第一個(gè)DOS扇區(qū)的扇區(qū)號(hào)
NS--每磁道扇區(qū)數(shù)
NH--磁盤(pán)總的磁頭數(shù)
則某扇區(qū)(柱面C,磁頭H,扇區(qū)S)的相對(duì)扇區(qū)號(hào)RS為:
RS=NH×NS×(C-DC)+NS×(H-DH)+(S-DS)
若已知RS,DC,DH,DS,NS和NH則
S=(RS MOD NS)+DS
H=((RS DIV NS)MOD NH)+DH
C=((RS DIV NS)DIV NH)+DC
要點(diǎn):(1)以柱面/磁頭/扇區(qū)表示的為絕對(duì)扇區(qū)又稱(chēng)物理磁盤(pán)地址
?。?)單一數(shù)字表示的為相對(duì)扇區(qū)或DOS扇區(qū),又稱(chēng)邏輯扇區(qū)號(hào)
?。?)相對(duì)扇區(qū)與絕對(duì)扇區(qū)的轉(zhuǎn)換公式
4.DOS磁盤(pán)區(qū)域的劃分
格式化好的硬盤(pán),整個(gè)磁盤(pán)按所記錄數(shù)據(jù)的作用不同可分為主引導(dǎo)記錄(MBR:Main Boot Record),Dos引導(dǎo)記錄(DBR:Dos
Boot Record),文件分配表(FAT:File Assign Table),根目錄(BD:Boot Directory)和數(shù)據(jù)區(qū)。前5個(gè)重要信息在磁盤(pán)的外
磁道上,原因是外圈周長(zhǎng)總大于內(nèi)圈周長(zhǎng),也即外圈存儲(chǔ)密度要小些,可靠性高些。
要點(diǎn):(1)整個(gè)硬盤(pán)可分為MBR,DBR,F(xiàn)AT,BD和數(shù)據(jù)區(qū)。
?。?)MBR,DBR,F(xiàn)AT,和BD位于磁盤(pán)外道。
5.MBR
MBR位于硬盤(pán)第一個(gè)物理扇區(qū)(絕對(duì)扇區(qū))柱面0,磁頭0,扇區(qū)1處。由于DOS是由柱面0,磁頭1,扇區(qū)1開(kāi)始,故MBR不屬于
DOS扇區(qū),DOS不能直接訪問(wèn)。MBR中包含硬盤(pán)的主引導(dǎo)程序和硬盤(pán)分區(qū)表。分區(qū)表有4個(gè)分區(qū)記錄區(qū)。記錄區(qū)就是記錄有關(guān)分區(qū)信
息的一張表。它從主引導(dǎo)記錄偏移地址01BEH處連續(xù)存放,每個(gè)分區(qū)記錄區(qū)占16個(gè)字節(jié)。
分區(qū)表的格式
分區(qū)表項(xiàng)的偏移 意義 占用字節(jié)數(shù)
00 引導(dǎo)指示符 1B
01 分區(qū)引導(dǎo)記錄的磁頭號(hào) 1B
02 分區(qū)引導(dǎo)記錄的扇區(qū)和柱面號(hào) 2B
04 系統(tǒng)指示符 1B
05 分區(qū)結(jié)束磁頭號(hào) 1B
06 分區(qū)結(jié)束扇區(qū)和柱面號(hào) 2B
08 分區(qū)前面的扇區(qū)數(shù) 4B
0C 分區(qū)中總的扇區(qū)數(shù) 4B
4個(gè)分區(qū)中只能有1個(gè)活躍分區(qū),即C盤(pán)。標(biāo)志符是80H在分區(qū)表的第一個(gè)字節(jié)處。若是00H則表示非活躍分區(qū)。例如:
80 01 01 00 0B FE 3F 81 3F 00 00 00 C3 DD 1F 00
00 00 01 82 05 FE BF 0C 02 DE 1F 00 0E 90 61 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
要點(diǎn):(1)MBR位于硬盤(pán)第一個(gè)物理扇區(qū)柱面0,磁頭0,扇區(qū)1處。不屬于DOS扇區(qū),
?。?)主引導(dǎo)記錄分為硬盤(pán)的主引導(dǎo)程序和硬盤(pán)分區(qū)表。
6.DBR
DBR位于柱面0,磁頭1,扇區(qū)1,即邏輯扇區(qū)0。DBR分為兩部分:DOS引導(dǎo)程序和BPB(BIOS參數(shù)塊)。其中DOS引導(dǎo)程序完成
DOS系統(tǒng)文件(IO.SYS,MSDOS.SYS)的定位與裝載,而B(niǎo)PB用來(lái)描述本DOS分區(qū)的磁盤(pán)信息,BPB位于DBR偏移0BH處,共13字節(jié)。
它包含邏輯格式化時(shí)使用的參數(shù),可供DOS計(jì)算磁盤(pán)上的文件分配表,目錄區(qū)和數(shù)據(jù)區(qū)的起始地址,BPB之后三個(gè)字提供物理格
式化(低格)時(shí)采用的一些參數(shù)。引導(dǎo)程序或設(shè)備驅(qū)動(dòng)程序根據(jù)這些信息將磁盤(pán)邏輯地址(DOS扇區(qū)號(hào))轉(zhuǎn)換成物理地址(絕對(duì)
扇區(qū)號(hào))。BPB格式
序號(hào) 偏移地址 意義
1 03H-0AH OEM號(hào)
2 0BH-0CH 每扇區(qū)字節(jié)數(shù)
3 0DH 每簇扇區(qū)數(shù)
4 0EH-0FH 保留扇區(qū)數(shù)
5 10H FAT備份數(shù)
6 11H-12H 根目錄項(xiàng)數(shù)
7 13H-14H 磁盤(pán)總扇區(qū)數(shù)
8 15H 描述介質(zhì)
9 16H-17H 每FAT扇區(qū)數(shù)
10 18H-19H 每磁道扇區(qū)數(shù)
11 1AH-1BH 磁頭數(shù)
12 1CH-1FH 特殊隱含扇區(qū)數(shù)
13 20H-23H 總扇區(qū)數(shù)
14 24H-25H 物理驅(qū)動(dòng)器數(shù)
15 26H 擴(kuò)展引導(dǎo)簽證
16 27H-2AH 卷系列號(hào)
17 2BH-35H 卷標(biāo)號(hào)
18 36H-3DH 文件系統(tǒng)號(hào)
DOS引導(dǎo)記錄公式:
文件分配表≡保留扇區(qū)數(shù)
根目錄≡保留扇區(qū)數(shù)+FAT的個(gè)數(shù)×每個(gè)FAT的扇區(qū)數(shù)
數(shù)據(jù)區(qū)≡根目錄邏輯扇區(qū)號(hào)+(32×根目錄中目錄項(xiàng)數(shù)+(每扇區(qū)字節(jié)數(shù)-1))DIV每扇區(qū)字節(jié)數(shù)
絕對(duì)扇區(qū)號(hào)≡邏輯扇區(qū)號(hào)+隱含扇區(qū)數(shù)
扇區(qū)號(hào)≡(絕對(duì)扇區(qū)號(hào)MOD每磁道扇區(qū)數(shù))+1
磁頭號(hào)≡(絕對(duì)扇區(qū)號(hào)DIV每磁道扇區(qū)數(shù))MOD磁頭數(shù)
磁道號(hào)≡(絕對(duì)扇區(qū)號(hào)DIV每磁道扇區(qū)數(shù))DIV磁頭數(shù)
要點(diǎn):(1)DBR位于柱面0,磁頭1,扇區(qū)1,其邏輯扇區(qū)號(hào)為0
(2)DBR包含DOS引導(dǎo)程序和BPB。
?。?)BPB十分重要,由此可算出邏輯地址與物理地址。
7.文件分配表
文件分配表是DOS文件組織結(jié)構(gòu)的主要組成部分。我們知道DOS進(jìn)行分配的最基本單位是簇。文件分配表是反映硬盤(pán)上所
有簇的使用情況,通過(guò)查文件分配表可以得知任一簇的使用情況。DOS在給一個(gè)文件分配空間時(shí)總先掃描FAT,找到第一個(gè)可
用簇,將該空間分配給文件,并將該簇的簇號(hào)填到目錄的相應(yīng)段內(nèi)。即形成了“簇號(hào)鏈”。FAT就是記錄文件簇號(hào)的一張表。
FAT的頭兩個(gè)域?yàn)楸A粲?,?duì)FAT12來(lái)說(shuō)是3個(gè)字節(jié),F(xiàn)AT來(lái)說(shuō)是4個(gè)字節(jié)。其中頭一個(gè)字節(jié)是用來(lái)描述介質(zhì)的,其余字節(jié)為FFH
。介質(zhì)格式與BPB相同。
第一個(gè)字節(jié)的8位意義:
7 6 5 4 3?。病。?0
└─────-┘ │ │ │┌0非雙面
置1 │ │ └┤
│ │ └1雙面
│ │┌0不是8扇區(qū)
│ └┤
│ └1是8扇區(qū)
│┌0不是可換的
└┤
└1是可換的
FAT結(jié)構(gòu)含義
FAT12 FAT16 意義
000H 0000H 可用
FF0H-FF6H FFF0H-FFF6H 保留
FF7H FFF7H 壞
FF8H-FFFH FFF8H-FFFFH 文件最后一個(gè)簇
×××H ××××H 文件下一個(gè)簇
對(duì)于FAT16,簇號(hào)×2作偏移地址,從FAT中取出一字即為FAT中的域。
邏輯扇區(qū)號(hào)=數(shù)據(jù)區(qū)起始邏輯扇區(qū)號(hào)+(簇號(hào)-2)×每簇扇區(qū)數(shù)
簇號(hào)=(邏輯扇區(qū)號(hào)-數(shù)據(jù)區(qū)起始邏輯扇區(qū)號(hào))DIV每簇扇區(qū)數(shù)+2
要點(diǎn):(1)FAT反映硬盤(pán)上所有簇的使用情況,它記錄了文件在硬盤(pán)中具體位置(簇)。
?。?)文件第一個(gè)簇號(hào)(在目錄表中)和FAT的該文件的簇號(hào)串起來(lái)形成文件的“簇號(hào)鏈”,恢復(fù)被破壞的文件就是根
據(jù)這條鏈。
?。?)由簇號(hào)可算邏輯扇區(qū)號(hào),反之,由邏輯扇區(qū)號(hào)也可以算出簇號(hào),公式如上。
?。?)FAT位于DBR之后,其DOS扇區(qū)號(hào)從1開(kāi)始。
8.文件目錄
文件目錄是DOS文件組織結(jié)構(gòu)的又一重要組成部分。文件目錄分為兩類(lèi):根目錄,子目錄。根目錄有一個(gè),子目錄可以有
多個(gè)。子目錄下還可以有子目錄,從而形成“樹(shù)狀”的文件目錄結(jié)構(gòu)。子目錄其實(shí)是一種特殊的文件,DOS為目錄項(xiàng)分配32字
節(jié)。目錄項(xiàng)分為三類(lèi):文件,子目錄(其內(nèi)容是許多目錄項(xiàng)),卷標(biāo)(只能在根目錄,只有一個(gè)。目錄項(xiàng)中有文件(或子目
錄,或卷標(biāo))的名字,擴(kuò)展名,屬性,生成或最后修改日期,時(shí)間,開(kāi)始簇號(hào),及文件大小。
目錄項(xiàng)的格式
字節(jié)偏移 意義 占字節(jié)數(shù)
00H 文件名 8B
08H 擴(kuò)展名 3B
0BH 文件屬性 1B
0CH 保留 10B
16H 時(shí)間 2B
18H 日期 2B
1AH 開(kāi)始簇號(hào) 2B
1CH 文件長(zhǎng)度 4B
目錄項(xiàng)文件名區(qū)域中第一個(gè)字節(jié)還有特殊的意義:00H代表未使用
05H代表實(shí)際名為E5H
EBH代表此文件已被刪除
目錄項(xiàng)屬性區(qū)域的這個(gè)字節(jié)各個(gè)位的意義如下: 7?。丁。怠。础。场。病。薄。?
未 修 修 子 卷 系 隱 只
用 改 改 目 標(biāo) 統(tǒng) 藏 讀
標(biāo) 標(biāo) 錄 屬 屬 屬
志 志 性 性 性
注意:WINDOWS的長(zhǎng)文件名使用了上表中所說(shuō)的“保留”這片區(qū)域。
要點(diǎn):(1)文件目錄是記錄所有文件,子目錄名,擴(kuò)展名屬性,建立或刪除最后修改日期。文件開(kāi)始簇號(hào)及文件長(zhǎng)度的一張
登記表.
(2)DOS中DIR列出的內(nèi)容訓(xùn)是根據(jù)文件目錄表得到的。
?。?)文件起始簇號(hào)填在文件目錄中,其余簇都填在FAT中上一簇的位置上。
9.物理驅(qū)動(dòng)器與邏輯驅(qū)動(dòng)器
物理驅(qū)動(dòng)器指實(shí)際安裝的驅(qū)動(dòng)器。
邏輯驅(qū)動(dòng)器是對(duì)物理驅(qū)動(dòng)器格式化后產(chǎn)生的。
要點(diǎn):同上。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。