分配單元
分配單元
分配單元,舊稱簇。就是操作系統為每一個單元地址劃分的空間大小. 就比如說一棟樓,將它劃分為若干個房間,每個房間的大小一樣,同時給每個房間一個房間號。這時,每個房間的大小,就是分配單元. 在建立分區時,會出現分配單元大小的選項。
每個分配單元只能存放一個文件。文件就是按照這個分配單元的大小被分成若干塊存儲在磁碟上的。比如一個512位元組大的文件,當分配單元為512位元組時,它佔用512位元組的存儲空間;一個513位元組大的文件,當分配單元為512位元組時,它佔用1024位元組的存儲空間,但當分配單元為4096時,它就會佔用4096位元組的存儲空間。
一般來說,分配單元越小越節約空間,分配單元越大越節約讀取時間,但浪費空間。這樣看起來好象分配單元小一些更能節約空間,其實不然。一個文件被分成的塊數越多,特別是這些存儲單元分散時,剛讀取數據時會浪費一些時間,可以想象一下,磁頭在碟片為了一點一滴的數據艱難移動時,時間就這麼被浪費掉了。
例如:專門存放音視頻文件的分區,可以把簇設為16K或者更大。
應用程序最好不要安裝在簇不是4K的分區上,會降低效率。
因此,推薦保持系統默認的分配單元大小。
目錄
磁軌,扇區,柱面和磁頭數
硬碟最基本的組成部分是由堅硬金屬材料製成的塗以磁性介質的碟片,不同容量硬碟的碟片數不等。每個碟片有兩面,都可
記錄信息。碟片被分成許多扇形的區域,每個區域叫一個扇區,每個扇區可存儲128×2的N次方(N=0.1.2.3)位元組信息。在DOS中每扇區是128×2的2次方=512位元組,碟片表面上以碟片中心為圓心,不同半徑的同心圓稱為磁軌。硬碟中,不同碟片相同半徑的磁軌所組成的圓柱稱為柱面。磁軌與柱面都是表示不同半徑的圓,在許多場合,磁軌和柱面可以互換使用,我們知道,每個磁碟有兩個面,每個面都有一個磁頭,習慣用磁頭號來區分。扇區,磁軌(或柱面)和磁頭數構成了硬碟結構的基本參數,幫這些參數可以得到硬碟的容量,基計算公式為:
存儲容量=磁頭數×磁軌(柱面)數×每道扇區數×每扇區位元組數
要點:
(1)硬碟有數個碟片,每碟片兩個面,每個面一個磁頭
(2)碟片被劃分為多個扇形區域即扇區
(3)同一碟片不同半徑的同心圓為磁軌
(4)不同碟片相同半徑構成的圓柱面即柱面
(5)公式:存儲容量=磁頭數×磁軌(柱面)數×每道扇區數×每扇區位元組數
(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扇區號。
公式:記DH--第一個DOS扇區的磁頭號
DC--第一個DOS扇區的柱面號
DS--第一個DOS扇區的扇區號
NS--每磁軌扇區數
NH--磁碟總的磁頭數
則某扇區(柱面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
要點:
(1)以柱面/磁頭/扇區表示的為絕對扇區又稱物理磁碟地址
(2)單一數字錶示的為相對扇區或DOS扇區,又稱邏輯扇區號
(3)相對扇區與絕對扇區的轉換公式
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扇區,
(2)主引導記錄分為硬碟的主引導程序和硬碟分區表。
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 每扇區位元組數
3 0DH 每簇扇區數
4 0EH-0FH 保留扇區數
5 10H FAT備份數
6 11H-12H 根目錄項數
7 13H-14H 磁碟總扇區數
8 15H 描述介質
9 16H-17H 每FAT扇區數
10 18H-19H 每磁軌扇區數
11 1AH-1BH 磁頭數
12 1CH-1FH 特殊隱含扇區數
13 20H-23H 總扇區數
14 24H-25H 物理驅動器數
15 26H 擴展引導簽證
16 27H-2AH 卷系列號
17 2BH-35H 卷標號
18 36H-3DH 文件系統號
DOS引導記錄公式:
文件分配表≡保留扇區數
根目錄≡保留扇區數+FAT的個數×每個FAT的扇區數
數據區≡根目錄邏輯扇區號+(32×根目錄中目錄項數+(每扇區位元組數-1))DIV每扇區位元組數
絕對扇區號≡邏輯扇區號+隱含扇區數
扇區號≡(絕對扇區號MOD每磁軌扇區數)+1
磁頭號≡(絕對扇區號DIV每磁軌扇區數)MOD磁頭數
磁軌號≡(絕對扇區號DIV每磁軌扇區數)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相同。
第一個位元組的8位意義:
7 6 5 4 3 2 1 0
└—————-┘ │ │ │┌0非雙面
置1 │ │ └┤
│ │ └1雙面
│ │┌0不是8扇區
│ └┤
│ └1是8扇區
│┌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
0BH 文件屬性 1B
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中上一簇的位置上。
物理驅動器與邏輯驅動器
物理驅動器指實際安裝的驅動器。
邏輯驅動器是對物理驅動器格式化后產生的。