硬盤內(nèi)部結(jié)構(gòu)之DOS管理結(jié)構(gòu) |
發(fā)布時間: 2012/8/19 18:25:49 |
1.磁道,扇區(qū),柱面和磁頭數(shù) 硬盤最基本的組成部分是由堅硬金屬材料制成的涂以磁性介質(zhì)的盤片,不同容量硬盤的盤片數(shù)不等。每個盤片有兩面,都可 記錄信息。盤片被分成許多扇形的區(qū)域,每個區(qū)域叫一個扇區(qū),每個扇區(qū)可存儲128×2的N次方(N=0.1.2.3)字節(jié)信息。在DOS 中每扇區(qū)是128×2的2次方=512字節(jié),盤片表面上以盤片中心為圓心,不同半徑的同心圓稱為磁道。硬盤中,不同盤片相同半徑 的磁道所組成的圓柱稱為柱面。磁道與柱面都是表示不同半徑的圓,在許多場合,磁道和柱面可以互換使用,我們知道,每個磁 盤有兩個面,每個面都有一個磁頭,習(xí)慣用磁頭號來區(qū)分。扇區(qū),磁道(或柱面)和磁頭數(shù)構(gòu)成了硬盤結(jié)構(gòu)的基本參數(shù),幫這些 參數(shù)可以得到硬盤的容量,基計算公式為: 存儲容量=磁頭數(shù)×磁道(柱面)數(shù)×每道扇區(qū)數(shù)×每扇區(qū)字節(jié)數(shù) 要點:(1)硬盤有數(shù)個盤片,每盤片兩個面,每個面一個磁頭 (2)盤片被劃分為多個扇形區(qū)域即扇區(qū) (3)同一盤片不同半徑的同心圓為磁道 (4)不同盤片相同半徑構(gòu)成的圓柱面即柱面 (5)公式: 存儲容量=磁頭數(shù)×磁道(柱面)數(shù)×每道扇區(qū)數(shù)×每扇區(qū)字節(jié)數(shù) (6)信息記錄可表示為:××磁道(柱面),××磁頭,××扇區(qū) 2.簇 “簇”是DOS進(jìn)行分配的最小單位。當(dāng)創(chuàng)建一個很小的文件時,如是一個字節(jié),則它在磁盤上并不是只占一個字節(jié)的空間, 而是占有整個一簇。DOS視不同的存儲介質(zhì)(如軟盤,硬盤),不同容量的硬盤,簇的大小也不一樣。簇的大小可在稱為磁盤 參數(shù)塊(BPB)中獲取。簇的概念僅適用于數(shù)據(jù)區(qū)。 本點:(1)“簇”是DOS進(jìn)行分配的最小單位。 (2)不同的存儲介質(zhì),不同容量的硬盤,不同的DOS版本,簇的大小也不一樣。 (3)簇的概念僅適用于數(shù)據(jù)區(qū)。 3.扇區(qū)編號定義:絕對扇區(qū)與DOS扇區(qū) 由前面介紹可知,我們可以用柱面/磁頭/扇區(qū)來唯一定位磁盤上每一個區(qū)域,或是說柱面/磁頭/扇區(qū)與磁盤上每一個扇區(qū)有 一一對應(yīng)關(guān)系,通常DOS將“柱面/磁頭/扇區(qū)”這樣表示法稱為“絕對扇區(qū)”表示法。但DOS不能直接使用絕對扇區(qū)進(jìn)行磁盤上的 信息管理,而是用所謂“相對扇區(qū)”或“DOS扇區(qū)”。“相對扇區(qū)”只是一個數(shù)字,如柱面140,磁頭3,扇區(qū)4對應(yīng)的相對扇區(qū)號 為2757。該數(shù)字與絕對扇區(qū)“柱面/磁頭/扇區(qū)”具有一一對應(yīng)關(guān)系。當(dāng)使用相對扇區(qū)編號時,DOS是從柱面0,磁頭1,扇區(qū)1開始 (注:柱面0,磁頭0,扇區(qū)1沒有DOS扇區(qū)編號,DOS下不能訪問,只能調(diào)用BIOS訪問),第一個DOS扇區(qū)編號為0,該磁道上剩余 的扇區(qū)編號為1到16(設(shè)每磁道17個扇區(qū)),然后是磁頭號為2,柱面為0的17個扇區(qū),形成的DOS扇區(qū)號從17到33。直到該柱面的 所有磁頭。然后再移到柱面1,磁頭1,扇區(qū)1繼續(xù)進(jìn)行DOS扇區(qū)的編號,即按扇區(qū)號,磁頭號,柱面號(磁道號)增長的順序連續(xù) 地分配DOS扇區(qū)號。 公式:記DH--第一個DOS扇區(qū)的磁頭號 DC--第一個DOS扇區(qū)的柱面號 DS--第一個DOS扇區(qū)的扇區(qū)號 NS--每磁道扇區(qū)數(shù) NH--磁盤總的磁頭數(shù) 則某扇區(qū)(柱面C,磁頭H,扇區(qū)S)的相對扇區(qū)號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 要點:(1)以柱面/磁頭/扇區(qū)表示的為絕對扇區(qū)又稱物理磁盤地址 (2)單一數(shù)字表示的為相對扇區(qū)或DOS扇區(qū),又稱邏輯扇區(qū)號 (3)相對扇區(qū)與絕對扇區(qū)的轉(zhuǎn)換公式 4.DOS磁盤區(qū)域的劃分 格式化好的硬盤,整個磁盤按所記錄數(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個重要信息在磁盤的外 磁道上,原因是外圈周長總大于內(nèi)圈周長,也即外圈存儲密度要小些,可靠性高些。 要點:(1)整個硬盤可分為MBR,DBR,F(xiàn)AT,BD和數(shù)據(jù)區(qū)。 (2)MBR,DBR,F(xiàn)AT,和BD位于磁盤外道。 5.MBR MBR位于硬盤第一個物理扇區(qū)(絕對扇區(qū))柱面0,磁頭0,扇區(qū)1處。由于DOS是由柱面0,磁頭1,扇區(qū)1開始,故MBR不屬于 DOS扇區(qū),DOS不能直接訪問。MBR中包含硬盤的主引導(dǎo)程序和硬盤分區(qū)表。分區(qū)表有4個分區(qū)記錄區(qū)。記錄區(qū)就是記錄有關(guān)分區(qū)信 息的一張表。它從主引導(dǎo)記錄偏移地址01BEH處連續(xù)存放,每個分區(qū)記錄區(qū)占16個字節(jié)。 分區(qū)表的格式 分區(qū)表項的偏移 意義 占用字節(jié)數(shù) 00 引導(dǎo)指示符 1B 01 分區(qū)引導(dǎo)記錄的磁頭號 1B 02 分區(qū)引導(dǎo)記錄的扇區(qū)和柱面號 2B 04 系統(tǒng)指示符 1B 05 分區(qū)結(jié)束磁頭號 1B 06 分區(qū)結(jié)束扇區(qū)和柱面號 2B 08 分區(qū)前面的扇區(qū)數(shù) 4B 0C 分區(qū)中總的扇區(qū)數(shù) 4B 4個分區(qū)中只能有1個活躍分區(qū),即C盤。標(biāo)志符是80H在分區(qū)表的第一個字節(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 要點:(1)MBR位于硬盤第一個物理扇區(qū)柱面0,磁頭0,扇區(qū)1處。不屬于DOS扇區(qū), (2)主引導(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ù),可供DOS計算磁盤上的文件分配表,目錄區(qū)和數(shù)據(jù)區(qū)的起始地址,BPB之后三個字提供物理格 式化(低格)時采用的一些參數(shù)。引導(dǎo)程序或設(shè)備驅(qū)動程序根據(jù)這些信息將磁盤邏輯地址(DOS扇區(qū)號)轉(zhuǎn)換成物理地址(絕對 扇區(qū)號)。BPB格式 序號 偏移地址 意義 1 03H-0AH OEM號 2 0BH-0CH 每扇區(qū)字節(jié)數(shù) 3 0DH 每簇扇區(qū)數(shù) 4 0EH-0FH 保留扇區(qū)數(shù) 5 10H FAT備份數(shù) 6 11H-12H 根目錄項數(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ū)動器數(shù) 15 26H 擴(kuò)展引導(dǎo)簽證 16 27H-2AH 卷系列號 17 2BH-35H 卷標(biāo)號 18 36H-3DH 文件系統(tǒng)號 DOS引導(dǎo)記錄公式: 文件分配表≡保留扇區(qū)數(shù) 根目錄≡保留扇區(qū)數(shù)+FAT的個數(shù)×每個FAT的扇區(qū)數(shù) 數(shù)據(jù)區(qū)≡根目錄邏輯扇區(qū)號+(32×根目錄中目錄項數(shù)+(每扇區(qū)字節(jié)數(shù)-1))DIV每扇區(qū)字節(jié)數(shù) 絕對扇區(qū)號≡邏輯扇區(qū)號+隱含扇區(qū)數(shù) 扇區(qū)號≡(絕對扇區(qū)號MOD每磁道扇區(qū)數(shù))+1 磁頭號≡(絕對扇區(qū)號DIV每磁道扇區(qū)數(shù))MOD磁頭數(shù) 磁道號≡(絕對扇區(qū)號DIV每磁道扇區(qū)數(shù))DIV磁頭數(shù) 要點:(1)DBR位于柱面0,磁頭1,扇區(qū)1,其邏輯扇區(qū)號為0 (2)DBR包含DOS引導(dǎo)程序和BPB。 (3)BPB十分重要,由此可算出邏輯地址與物理地址。 7.文件分配表 文件分配表是DOS文件組織結(jié)構(gòu)的主要組成部分。我們知道DOS進(jìn)行分配的最基本單位是簇。文件分配表是反映硬盤上所 有簇的使用情況,通過查文件分配表可以得知任一簇的使用情況。DOS在給一個文件分配空間時總先掃描FAT,找到第一個可 用簇,將該空間分配給文件,并將該簇的簇號填到目錄的相應(yīng)段內(nèi)。即形成了“簇號鏈”。FAT就是記錄文件簇號的一張表。 FAT的頭兩個域為保留域,對FAT12來說是3個字節(jié),F(xiàn)AT來說是4個字節(jié)。其中頭一個字節(jié)是用來描述介質(zhì)的,其余字節(jié)為FFH 。介質(zhì)格式與BPB相同。 第一個字節(jié)的8位意義: 7 6 5 4 3 2 1 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 文件最后一個簇 ×××H ××××H 文件下一個簇 對于FAT16,簇號×2作偏移地址,從FAT中取出一字即為FAT中的域。 邏輯扇區(qū)號=數(shù)據(jù)區(qū)起始邏輯扇區(qū)號+(簇號-2)×每簇扇區(qū)數(shù) 簇號=(邏輯扇區(qū)號-數(shù)據(jù)區(qū)起始邏輯扇區(qū)號)DIV每簇扇區(qū)數(shù)+2 要點:(1)FAT反映硬盤上所有簇的使用情況,它記錄了文件在硬盤中具體位置(簇)。 (2)文件第一個簇號(在目錄表中)和FAT的該文件的簇號串起來形成文件的“簇號鏈”,恢復(fù)被破壞的文件就是根 據(jù)這條鏈。 (3)由簇號可算邏輯扇區(qū)號,反之,由邏輯扇區(qū)號也可以算出簇號,公式如上。 (4)FAT位于DBR之后,其DOS扇區(qū)號從1開始。 8.文件目錄 文件目錄是DOS文件組織結(jié)構(gòu)的又一重要組成部分。文件目錄分為兩類:根目錄,子目錄。根目錄有一個,子目錄可以有 多個。子目錄下還可以有子目錄,從而形成“樹狀”的文件目錄結(jié)構(gòu)。子目錄其實是一種特殊的文件,DOS為目錄項分配32字 節(jié)。目錄項分為三類:文件,子目錄(其內(nèi)容是許多目錄項),卷標(biāo)(只能在根目錄,只有一個。目錄項中有文件(或子目 錄,或卷標(biāo))的名字,擴(kuò)展名,屬性,生成或最后修改日期,時間,開始簇號,及文件大小。 目錄項的格式 字節(jié)偏移 意義 占字節(jié)數(shù) 00H 文件名 8B 08H 擴(kuò)展名 3B 0BH 文件屬性 1B 0CH 保留 10B 16H 時間 2B 18H 日期 2B 1AH 開始簇號 2B 1CH 文件長度 4B 目錄項文件名區(qū)域中第一個字節(jié)還有特殊的意義:00H代表未使用 05H代表實際名為E5H EBH代表此文件已被刪除 目錄項屬性區(qū)域的這個字節(jié)各個位的意義如下: 7 6 5 4 3 2 1 0 未 修 修 子 卷 系 隱 只 用 改 改 目 標(biāo) 統(tǒng) 藏 讀 標(biāo) 標(biāo) 錄 屬 屬 屬 志 志 性 性 性 注意:WINDOWS的長文件名使用了上表中所說的“保留”這片區(qū)域。 要點:(1)文件目錄是記錄所有文件,子目錄名,擴(kuò)展名屬性,建立或刪除最后修改日期。文件開始簇號及文件長度的一張 登記表. (2)DOS中DIR列出的內(nèi)容訓(xùn)是根據(jù)文件目錄表得到的。 (3)文件起始簇號填在文件目錄中,其余簇都填在FAT中上一簇的位置上。 9.物理驅(qū)動器與邏輯驅(qū)動器 物理驅(qū)動器指實際安裝的驅(qū)動器。 邏輯驅(qū)動器是對物理驅(qū)動器格式化后產(chǎn)生的。 本文出自:億恩科技【www.cmtents.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |