認識分配單元
分配單元,舊稱簇。就是作業系統為每一個
單元地址劃分的空間大小. 就比如說一棟樓,將它劃分為若干個房間,每個房間的大小一樣,同時給每個房間一個房間號.這時,每個房間的大小,就是分配單元. 在建立分區時,會出現分配單元大小的選項。
每個分配單元只能存放一個檔案。檔案就是按照這個分配單元的大小被分成若干塊存儲在
磁碟上的。比如一個512
位元組大的檔案,當分配單元為512位元組時,它占用512位元組的
存儲空間;一個513位元組大的檔案,當分配單元為512位元組時,它占用1024位元組的存儲空間,但當分配單元為4096時,它就會占用4096位元組的存儲空間。 一般來說,分配單元越小越節約空間,分配單元越大越節約讀取時間,但浪費空間。這樣看起來好象分配單元小一些更能節約空間,其實不然。
一個檔案被分成的塊數越多,特別是這些存儲單元分散時,剛讀取數據時會浪費一些時間,可以想像一下,磁頭在碟片為了一點一滴的數據艱難移動時,時間就這么被浪費掉了。
例如:專門存放音視頻檔案的分區,可以把簇設為16K或者更大。
應用程式最好不要安裝在簇不是4K的分區上,會降低效率。
因此,推薦保持系統默認的分配單元大小。
硬碟基礎知識
磁軌,扇區,柱面和磁頭數
硬碟最基本的組成部分是由堅硬金屬材料製成的塗以磁性介質的碟片,不同容量硬碟的碟片數不等。每個碟片有兩面,都可
記錄信息。碟片被分成許多扇形的區域,每個區域叫一個
扇區,每個
扇區可存儲128×2的N次方(N=0.1.2.3)
位元組信息。在DOS中每
扇區是128×2的2次方=512
位元組,碟片表面上以碟片中心為圓心,不同半徑的同心圓稱為
磁軌。硬碟中,不同碟片相同半徑的
磁軌所組成的圓柱稱為柱面。
磁軌與柱面都是表示不同半徑的圓,在許多場合,
磁軌和柱面可以互換使用,我們知道,每個
磁碟有兩個面,每個面都有一個磁頭,習慣用磁頭號來區分。扇區,
磁軌(或柱面)和
磁頭數構成了硬碟結構的基本參數,幫這些參數可以得到硬碟的容量,基計算公式為:
要點:
(1)硬碟有數個碟片,每碟片兩個面,每個面一個磁頭
(4)不同碟片相同半徑構成的圓柱面即柱面
(6)信息記錄可表示為:××
磁軌(柱面),××磁頭,××
扇區簇
“簇”是DOS進行分配的最小單位。當創建一個很小的檔案時,如是一個位元組,則它在
磁碟上並不是只占一個位元組的空間,
而是占有一整個簇。DOS視不同的存儲介質(如
軟碟,硬碟),不同容量的硬碟,簇的大小也不一樣。簇的大小可在稱為
磁碟參數塊(BPB)中獲取。簇的概念僅適用於數據區。
本點:
(1)“簇”是DOS進行分配的最小單位。
(2)不同的存儲介質,不同容量的硬碟,不同的DOS版本,簇的大小也不一樣。
(3)簇的概念僅適用於數據區。
扇區編號定義:絕對扇區與DOS扇區
由前面介紹可知,我們可以用柱面/磁頭/扇區來唯一定位
磁碟上每一個區域,或是說柱面/磁頭/扇區與磁碟上每一個扇區有一一對應關係,通常DOS將“柱面/磁頭/扇區”這樣表示法稱為“絕對扇區”表示法。但DOS不能直接使用絕對扇區進行磁碟上的信息管理,而是用所謂“相對扇區”或“DOS扇區”。“相對扇區”只是一個數字,如柱面140,磁頭3,扇區4對應的相對扇區號為2757。該數字與絕對扇區“柱面/磁頭/扇區”具有一一對應關係。當使用相對扇區編號時,DOS是從柱面0,磁頭1,扇區1開始(註:柱面0,磁頭0,扇區1沒有DOS扇區編號,DOS下不能訪問,只能調用BIOS訪問),第一個DOS扇區編號為0,該
磁軌上剩餘的扇區編號為1到16(設每磁軌17個扇區),然後是磁頭號為2,柱面為0的17個扇區,形成的DOS扇區號從17到33。直到該柱面的所有磁頭。然後再移到柱面1,磁頭1,扇區1繼續進行DOS扇區的編號,即按扇區號,磁頭號,柱面號(磁軌號)增長的順序連續地分配DOS扇區號。
則某
扇區(柱面C,磁頭H,扇區S)的相對扇區號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
要點:
(2)單一數字表示的為相對
扇區或DOS扇區,又稱邏輯扇區號
DOS磁碟區域的劃分
格式化好的硬碟,整個磁碟按所記錄數據的作用不同可分為主引導記錄(MBR:Main Boot Record),Dos引導記錄(DBR:Dos Boot Record),
檔案分配表(FAT:File Assign Table),根目錄(BD:Boot Directory)和數據區。前5個重要信息在磁碟的外
磁軌上,原因是外圈周長總大於內圈周長,也即外圈存儲密度要小些,可靠性高些。
要點:
(1)整個硬碟可分為MBR,DBR,FAT,BD和數據區。
(2)MBR,DBR,FAT,和BD位於磁碟外道。
MBR
MBR位於硬碟第一個物理
扇區(絕對扇區)柱面0,磁頭0,扇區1處。由於DOS是由柱面0,磁頭1,
扇區1開始,故MBR不屬於 DOS扇區,DOS不能直接訪問。MBR中包含硬碟的主引導程式和
硬碟分區表。
分區表有4個分區記錄區。記錄區就是記錄有關分區信息的一張表。它從
主引導記錄偏移地址01BEH處連續存放,每個分區記錄區占16個位元組。
分區表的格式
分區表項的偏移 意義 占用位元組數
00 引導指示符 1B
01 分區引導記錄的磁頭號 1B
02 分區引導記錄的扇區和柱面號 2B
04 系統指示符 1B
05 分區結束磁頭號 1B
06 分區結束扇區和柱面號 2B
08 分區前面的扇區數 4B
0C 分區中總的扇區數 4B
4個分區中只能有1個活躍分區,即C糟。標誌符是80H在
分區表的第一個位元組處。若是00H則表示非活躍分區。例如:
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位於硬碟第一個物理
扇區柱面0,磁頭0,扇區1處。不屬於DOS
扇區,
DBR
DBR位於柱面0,磁頭1,
扇區1,即邏輯扇區0。DBR分為兩部分:DOS引導程式和BPB(BIOS參數塊)。其中DOS引導程式完成DOS
系統檔案(IO.SYS,MSDOS.SYS)的定位與裝載,而BPB用來描述本DOS分區的磁碟信息,BPB位於DBR偏移0BH處,共13位元組。它包含邏輯格式化時使用的參數,可供DOS計算磁碟上的
檔案分配表,目錄區和數據區的起始地址,BPB之後三個字提供物理格式化(低格)時採用的一些參數。引導程式或設備驅動程式根據這些信息將磁碟邏輯地址(DOS
扇區號)轉換成
物理地址(絕對扇區號)。BPB格式序號
偏移地址 意義:
1 03H-0AH OEM號
2 0BH-0CH 每扇區位元組數
4 0EH-0FH 保留扇區數
5 10H FAT備份數
6 11H-12H 根目錄項數
7 13H-14H 磁碟總扇區數
8 15H 描述介質
9 16H-17H 每FAT扇區數
12 1CH-1FH 特殊隱含扇區數
13 20H-23H 總扇區數
14 24H-25H 物理驅動器數
15 26H 擴展引導簽證
16 27H-2AH 卷系列號
18 36H-3DH 檔案系統號
檔案分配表≡保留扇區數
根目錄≡保留
扇區數+FAT的個數×每個FAT的扇區數
數據區≡根目錄邏輯
扇區號+(32×根目錄中目錄項數+(每扇區位元組數-1))DIV每扇區位元組數
要點:
(1)DBR位於柱面0,磁頭1,
扇區1,其邏輯扇區號為0。
(2)DBR包含DOS引導程式和BPB。
(3)BPB十分重要,由此可算出邏輯地址與
物理地址。
檔案分配表
檔案分配表是DOS檔案組織結構的主要組成部分。我們知道DOS進行分配的最基本單位是簇。檔案分配表是反映硬碟上所有簇的使用情況,通過查檔案分配表可以得知任一簇的使用情況。DOS在給一個檔案分配空間時總先掃描FAT,找到第一個可用簇,將該空間分配給檔案,並將該簇的簇號填到目錄的相應段內。即形成了“簇號鏈”。FAT就是記錄檔案簇號的一張表。FAT的頭兩個域為保留域,對FAT12來說是3個位元組,FAT來說是4個位元組。其中頭一個位元組是用來描述介質的,其餘位元組為FFH 。介質格式與BPB相同。
7 6 5 4 3 2 1 0
└—————-┘ │ │ │┌0非雙面
置1 │ │ └┤
│ │ └1雙面
│ └┤
│┌0不是可換的
└┤
└1是可換的
FAT結構含義
FAT12 FAT16 意義
000H 0000H 可用
FF0H-FF6H FFF0H-FFF6H 保留
FF7H FFF7H 壞
FF8H-FFFH FFF8H-FFFFH 檔案最後一個簇
×××H ××××H 檔案下一個簇
對於FAT16,簇號×2作
偏移地址,從FAT中取出一字即為FAT中的域。
邏輯
扇區號=數據區起始邏輯扇區號+(簇號-2)×每簇
扇區數簇號=(邏輯
扇區號-數據區起始邏輯扇區號)DIV每簇
扇區數+2
要點:
(1)FAT反映硬碟上所有簇的使用情況,它記錄了檔案在硬碟中具體位置(簇)。
(2)檔案第一個簇號(在目錄表中)和FAT的該檔案的簇號串起來形成檔案的“簇號鏈”,恢復被破壞的檔案就是根據這條鏈。
(3)由簇號可算邏輯
扇區號,反之,由邏輯扇區號也可以算出簇號,公式如上。
(4)FAT位於DBR之後,其DOS
扇區號從1開始。
檔案目錄
檔案目錄是DOS檔案組織結構的又一重要組成部分。檔案目錄分為兩類:根目錄,子目錄。根目錄有一個,子目錄可以有多個。子目錄下還可以有子目錄,從而形成“樹狀”的檔案
目錄結構。子目錄其實是一種特殊的檔案,DOS為目錄項分配32位元組。目錄項分為三類:檔案,子目錄(其內容是許多目錄項),
卷標(只能在根目錄,只有一個。目錄項中有檔案(或子目錄,或
卷標)的名字,擴展名,屬性,生成或最後修改日期,時間,開始簇號,及檔案大小。 目錄項的格式位元組偏移 意義 占位元組數
00H 檔案名稱 8B
08H 擴展名 3B
0CH 保留 10B
16H 時間 2B
18H 日期 2B
1AH 開始簇號 2B
1CH 檔案長度 4B
目錄項檔案名稱區域中第一個
位元組還有特殊的意義:00H代表未使用
05H代表實際名為E5H
EBH代表此檔案已被刪除
目錄項屬性區域的這個位元組各個位的意義如下: 7 6 5 4 3 2 1 0
未 修 修 子 卷 系 隱 只
用 改 改 目 標 統 藏 讀
標 標 錄 屬 屬 屬
志 志 性 性 性
注意:WINDOWS的
長檔案名稱使用了上表中所說的“保留”這片區域。
要點:
(1)
檔案目錄是記錄所有檔案,子目錄名,擴展名屬性,建立或刪除最後修改日期。檔案開始簇號及檔案長度的一張登記表。
(2)DOS中DIR列出的內容訓是根據
檔案目錄表得到的。
(3)檔案起始簇號填在
檔案目錄中,其餘簇都填在FAT中上一簇的位置上。
物理驅動器與邏輯驅動器
物理驅動器指實際安裝的驅動器。