硬盤的DOS管理結(jié)構(gòu) 1.磁道,扇區(qū),柱面和磁頭數(shù) 硬盤最基本的組成部分是由堅(jiān)硬金屬材料制成的涂以磁性介質(zhì)的盤片,不同容量硬盤的盤片數(shù)不等。每個(gè)盤片有兩面,都可 記錄信息。盤片被分成許多扇形的區(qū)域,每個(gè)區(qū)域叫一個(gè)扇區(qū),每個(gè)扇區(qū)可存儲(chǔ)128×2的N次方(N=0.1.2.3)字節(jié)信息。在DOS 中每扇區(qū)是128×2的2次方=512字節(jié),盤片表面上以盤片中心為圓心,不同半徑的同心圓稱為磁道。硬盤中,不同盤片相同半徑 的磁道所組成的圓柱稱為柱面。磁道與柱面都是表示不同半徑的圓,在許多場合,磁道和柱面可以互換使用,我們知道,每個(gè)磁 盤有兩個(gè)面,每個(gè)面都有一個(gè)磁頭,習(xí)慣用磁頭號(hào)來區(qū)分。扇區(qū),磁道(或柱面)和磁頭數(shù)構(gòu)成了硬盤結(jié)構(gòu)的基本參數(shù),幫這些 參數(shù)可以得到硬盤的容量,基計(jì)算公式為: 存儲(chǔ)容量=磁頭數(shù)×磁道(柱面)數(shù)×每道扇區(qū)數(shù)×每扇區(qū)字節(jié)數(shù) 要點(diǎn):(1)硬盤有數(shù)個(gè)盤片,每盤片兩個(gè)面,每個(gè)面一個(gè)磁頭 (2)盤片被劃分為多個(gè)扇形區(qū)域即扇區(qū) ?。?)同一盤片不同半徑的同心圓為磁道 ?。?)不同盤片相同半徑構(gòu)成的圓柱面即柱面 (5)公式: 存儲(chǔ)容量=磁頭數(shù)×磁道(柱面)數(shù)×每道扇區(qū)數(shù)×每扇區(qū)字節(jié)數(shù) ?。?)信息記錄可表示為:××磁道(柱面),××磁頭,××扇區(qū) 2.簇 “簇”是DOS進(jìn)行分配的最小單位。當(dāng)創(chuàng)建一個(gè)很小的文件時(shí),如是一個(gè)字節(jié),則它在磁盤上并不是只占一個(gè)字節(jié)的空間, 而是占有整個(gè)一簇。DOS視不同的存儲(chǔ)介質(zhì)(如軟盤,硬盤),不同容量的硬盤,簇的大小也不一樣。簇的大小可在稱為磁盤 參數(shù)塊(BPB)中獲取。簇的概念僅適用于數(shù)據(jù)區(qū)。 本點(diǎn):(1)“簇”是DOS進(jìn)行分配的最小單位。 ?。?)不同的存儲(chǔ)介質(zhì),不同容量的硬盤,不同的DOS版本,簇的大小也不一樣。 ?。?)簇的概念僅適用于數(shù)據(jù)區(qū)。 3.扇區(qū)編號(hào)定義:絕對(duì)扇區(qū)與DOS扇區(qū) 由前面介紹可知,我們可以用柱面/磁頭/扇區(qū)來唯一定位磁盤上每一個(gè)區(qū)域,或是說柱面/磁頭/扇區(qū)與磁盤上每一個(gè)扇區(qū)有 一一對(duì)應(yīng)關(guān)系,通常DOS將“柱面/磁頭/扇區(qū)”這樣表示法稱為“絕對(duì)扇區(qū)”表示法。但DOS不能直接使用絕對(duì)扇區(qū)進(jì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開始 (注:柱面0,磁頭0,扇區(qū)1沒有DOS扇區(qū)編號(hào),DOS下不能訪問,只能調(diào)用BIOS訪問),第一個(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))增長的順序連續(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--磁盤總的磁頭數(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ū)又稱物理磁盤地址 ?。?)單一數(shù)字表示的為相對(duì)扇區(qū)或DOS扇區(qū),又稱邏輯扇區(qū)號(hào) ?。?)相對(duì)扇區(qū)與絕對(duì)扇區(qū)的轉(zhuǎn)換公式 4.DOS磁盤區(qū)域的劃分 格式化好的硬盤,整個(gè)磁盤按所記錄數(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è)重要信息在磁盤的外 磁道上,原因是外圈周長總大于內(nèi)圈周長,也即外圈存儲(chǔ)密度要小些,可靠性高些。 要點(diǎn):(1)整個(gè)硬盤可分為MBR,DBR,F(xiàn)AT,BD和數(shù)據(jù)區(qū)。 ?。?)MBR,DBR,F(xiàn)AT,和BD位于磁盤外道。 5.MBR MBR位于硬盤第一個(gè)物理扇區(qū)(絕對(duì)扇區(qū))柱面0,磁頭0,扇區(qū)1處。由于DOS是由柱面0,磁頭1,扇區(qū)1開始,故MBR不屬于 DOS扇區(qū),DOS不能直接訪問。MBR中包含硬盤的主引導(dǎo)程序和硬盤分區(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盤。標(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位于硬盤第一個(gè)物理扇區(qū)柱面0,磁頭0,扇區(qū)1處。不屬于DOS扇區(qū), ?。?)主引導(dǎo)記錄分為硬盤的主引導(dǎo)程序和硬盤分區(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)的定位與裝載,而BPB用來描述本DOS分區(qū)的磁盤信息,BPB位于DBR偏移0BH處,共13字節(jié)。 它包含邏輯格式化時(shí)使用的參數(shù),可供DOS計(jì)算磁盤上的文件分配表,目錄區(qū)和數(shù)據(jù)區(qū)的起始地址,BPB之后三個(gè)字提供物理格 式化(低格)時(shí)采用的一些參數(shù)。引導(dǎo)程序或設(shè)備驅(qū)動(dòng)程序根據(jù)這些信息將磁盤邏輯地址(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 磁盤總扇區(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 ?。?)DBR包含DOS引導(dǎo)程序和BPB。 ?。?)BPB十分重要,由此可算出邏輯地址與物理地址。 7.文件分配表 文件分配表是DOS文件組織結(jié)構(gòu)的主要組成部分。我們知道DOS進(jìn)行分配的最基本單位是簇。文件分配表是反映硬盤上所 有簇的使用情況,通過查文件分配表可以得知任一簇的使用情況。DOS在給一個(gè)文件分配空間時(shí)總先掃描FAT,找到第一個(gè)可 用簇,將該空間分配給文件,并將該簇的簇號(hào)填到目錄的相應(yīng)段內(nèi)。即形成了“簇號(hào)鏈”。FAT就是記錄文件簇號(hào)的一張表。 FAT的頭兩個(gè)域?yàn)楸A粲?,?duì)FAT12來說是3個(gè)字節(jié),F(xiàn)AT來說是4個(gè)字節(jié)。其中頭一個(gè)字節(jié)是用來描述介質(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反映硬盤上所有簇的使用情況,它記錄了文件在硬盤中具體位置(簇)。 ?。?)文件第一個(gè)簇號(hào)(在目錄表中)和FAT的該文件的簇號(hào)串起來形成文件的“簇號(hào)鏈”,恢復(fù)被破壞的文件就是根 據(jù)這條鏈。 ?。?)由簇號(hào)可算邏輯扇區(qū)號(hào),反之,由邏輯扇區(qū)號(hào)也可以算出簇號(hào),公式如上。 ?。?)FAT位于DBR之后,其DOS扇區(qū)號(hào)從1開始。 8.文件目錄 文件目錄是DOS文件組織結(jié)構(gòu)的又一重要組成部分。文件目錄分為兩類:根目錄,子目錄。根目錄有一個(gè),子目錄可以有 多個(gè)。子目錄下還可以有子目錄,從而形成“樹狀”的文件目錄結(jié)構(gòu)。子目錄其實(shí)是一種特殊的文件,DOS為目錄項(xiàng)分配32字 節(jié)。目錄項(xiàng)分為三類:文件,子目錄(其內(nèi)容是許多目錄項(xiàng)),卷標(biāo)(只能在根目錄,只有一個(gè)。目錄項(xiàng)中有文件(或子目 錄,或卷標(biāo))的名字,擴(kuò)展名,屬性,生成或最后修改日期,時(shí)間,開始簇號(hào),及文件大小。 目錄項(xiàng)的格式 字節(jié)偏移 意義 占字節(jié)數(shù) 00H 文件名 8B 08H 擴(kuò)展名 3B 0BH 文件屬性 1B 0CH 保留 10B 16H 時(shí)間 2B 18H 日期 2B 1AH 開始簇號(hào) 2B 1CH 文件長度 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的長文件名使用了上表中所說的“保留”這片區(qū)域。 要點(diǎn):(1)文件目錄是記錄所有文件,子目錄名,擴(kuò)展名屬性,建立或刪除最后修改日期。文件開始簇號(hào)及文件長度的一張 登記表. ?。?)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):同上。 |
|