1、磁道
當磁盤在旋轉時,磁頭若保持在一個位置上,則每個磁頭都會在磁盤表面劃出一個圓形軌跡,這些圓形軌跡就叫做磁道。每張盤片上的磁道由外向內依次從“0”開始進行編號。雖然磁道的編號是“由外向內依次從“0”開始進行編號”,但這并不意味著“0”磁道是位于磁盤片的最外沿的。固件區(qū)的物理位置有的位于比“0”磁道更靠近磁盤片的外緣的磁道上。有的位于磁盤片的中部。
2、扇區(qū)
磁盤上的每個磁道被等分為若干個弧段,這些弧段便是磁盤的扇區(qū)。每個扇區(qū)大小為512字節(jié)。扇區(qū)從“1”開始編號。
3、DOC分區(qū)
雖然我們的存儲介質沒有分區(qū)(你的u盤,sd卡等小容量存儲介質肯定沒有分區(qū)的吧)。但是在文件系統(tǒng)初始化的開始我們必須通過MBR獲取分區(qū)表項的數據,以獲得CHS、LBA參數以及分區(qū)大小扇區(qū)數,否則就無法知道你文件系統(tǒng)的起始物理扇區(qū)號。。
Microsoft將使用DOC分區(qū)體系的磁盤稱為“主引導記錄(Master Boot recorder, MBR)”磁盤,這是對于使用“全局ID分區(qū)表(GUID Partition Table, GPT)磁盤”而言的。
4、主引導記錄扇區(qū)
使用“DOC分區(qū)”體系時,磁盤的第一個——也就是0號扇區(qū)被稱為主引導記錄扇區(qū),也稱為主引導記錄MBR(Master Boot recorder,MBR)。
MBR由446個字節(jié)的引導代碼、64字節(jié)的主分區(qū)(4個)表及兩個字節(jié)的簽名值“55 AA”組成。
5、FAT文件系統(tǒng)簡介
文件系統(tǒng)會在你把文件存放到某個目錄下時記錄下你文件的信息(文件存放的起始簇號,文件大小,文件創(chuàng)建、修改、訪問、保存的時間等等),當你下次要打開那個文件時,文件系統(tǒng)就根據已知的文件信息去尋找它,找到后,你就又可以讀,寫,修改,移動你的文件了,并且文件系統(tǒng)會同時更新。
文件系統(tǒng)會在你把文件存放到某個目錄下時記錄下你文件的信息(文件存放的起始簇號,文件大小,文件創(chuàng)建、修改、訪問、保存的時間等等),當你下次要打開那個文件時,文件系統(tǒng)就根據已知的文件信息去尋找它,找到后,你就又可以讀,寫,修改,移動你的文件了,并且文件系統(tǒng)會同時更新。
格式化的過程就是在分區(qū)內建立文件系統(tǒng)的過程。一個文件系統(tǒng)由系統(tǒng)結構和按一定規(guī)則存放的用戶數據組成。
6、數據單元
數據在寫入磁盤或從磁盤讀取數據時每次操作的數據量稱為數據單元,它的大小在建立文件系統(tǒng)時確定。數據單元在不同的文件系統(tǒng)中有不同的稱呼:例如在FAT和NTFS文件系統(tǒng)中稱作“簇(Cluster)”,ExtX中稱作“塊(Block)”等。一個數據單元由若干個連續(xù)的扇區(qū)組成,大小總是2的整數次冪個扇區(qū)。
7、壞數據單元:包含壞扇區(qū)的數據單元
8、四種地址
物理地址:每個扇區(qū)都有一個LBA地址。
物理卷地址:每個扇區(qū)在其物理卷內又有一個地址
邏輯卷地址:每個扇區(qū)在其邏輯卷內又有一個地址
邏輯文件地址:對于每個文件來說,將它按所在文件系統(tǒng)中的數據單元大小為單位進行分割,分割后的每一個部分由0 開始編號,這個編號就是其對應數據單元的邏輯文件地址。一個文件前后相鄰的兩個數據單元在物理上的存儲地址可能是不連續(xù)的,但它的邏輯文件地址一定是連續(xù)的。
9、三種分配策略
第一可用分配策略:每次都從頭開始檢查可用的數據單元。
下一可用分配策略:文件分配了一個儲存單元后并不再回到卷開始處重新尋找可用空間,而是直接向后進行搜索。
最佳分配策略:在為文件分配空間時,會盡可能找到足夠的連續(xù)空間以避免其片段化。
10、松弛空間:
一種是數據的結尾與為其分配的空間結束處的未使用部分,還有一種就是位于分區(qū)結尾的卷松弛空間。
11、元數據
任何文件和目錄都會有一個名字,我們將其統(tǒng)稱為“文件名”。除了文件名外,文件或目錄還有其他一些描述信息,如大小,時間信息,是否加密或壓縮,儲存位置信息等,我們將這些描述信息統(tǒng)稱為文件或目錄的元數據。
12、在FAT文件系統(tǒng)中,同時使用“扇區(qū)地址”和“簇地址”兩種地址管理方式。這是因為只有存儲用戶數據的數據區(qū)使用簇進行管理(FAT12和FAT16的根目錄除外),所有簇都位于數據區(qū)。其他文件系統(tǒng)管理數據區(qū)域是不以簇進行管理的,這部分區(qū)域使用扇區(qū)地址進行管理。文件系統(tǒng)的起始扇區(qū)為0號扇區(qū)。
12、FAT文件系統(tǒng)的整體布局
[1] 保留區(qū)含有一個重要的數據結構——系統(tǒng)引導扇區(qū)(DBR)。FAT12、FAT16的保留區(qū)通常只有一個扇區(qū),而FAT32的保留扇區(qū)要多一些,除0號扇區(qū)外,還有其他一些扇區(qū),其中包括了DBR的備份扇區(qū)。
[2] FAT區(qū)由來年各個大小相等的FAT表組成——FAT1、FAT2,F(xiàn)AT2緊跟在FAT1之后。
[3] FAT12、FAT16的根目錄雖然也屬于數據區(qū),但是他們并不由簇進行管理。也就是說FAT12、FAT16的根目錄是沒有簇號的,他們的2號簇從根目錄之后開始。而FAT32的根目錄通常位于2號簇。
13、FAT的保留扇區(qū)
FAT32文件系統(tǒng)的開始部分有一個由若干個扇區(qū)組成的保留區(qū),保留區(qū)的刀削會記錄在DBR扇區(qū)中,比較常見的為32、34或38個扇區(qū)。
14、引導扇區(qū)
引導扇區(qū)是FAT32文件系統(tǒng)的第一個扇區(qū),也稱為DBR扇區(qū)。它包含這樣一些文件系統(tǒng)的基本信息:
[1] 每扇區(qū)字節(jié)數
[2] 每簇扇區(qū)數
[3] 保留扇區(qū)數
[4] FAT表個數
[5] 文件系統(tǒng)大。ㄉ葏^(qū)數)
[6] 每個FAT表大小(扇區(qū)數)
[7] 根目錄起始簇號
[8] 其他一些附加信息
我們可以通過每個FAT表的大小扇區(qū)數乘以FAT表的個數得到FAT區(qū)域的大;通過保留扇區(qū)數和FAT區(qū)域的大小就可以得知數據區(qū)的起始位置,也就得到了文件系統(tǒng)第一簇的位置。由根目錄的簇號和第一簇的位置就可以得到根目錄的位置。
15、FSINFO信息扇區(qū)
FAT32在保留區(qū)中增加了一個FSINFO扇區(qū),用以記錄文件系統(tǒng)中空閑簇的數量以及下一可用簇的簇號等信息,以供操作系統(tǒng)作為參考。
大多數的FSINFO信息扇區(qū)一般位于文件系統(tǒng)的1號扇區(qū),結構非常簡單。
字節(jié)偏移(十六進制) 字節(jié)數 含義
00~03 4 擴展引導標志“52526141”
04~1E3 480 未使用
1E4~1E7 4 FSINFO簽名“72724161”
1E8~1EB 4 空閑簇數
1EC~1EF 4 下一可用簇號
1F0~1FD 14 未使用
1EE~1EF 2 “55 AA”標志