用format命令對磁碟(或邏輯盤)進行格式化的時候,就已經為整個硬碟建立了乙個根目錄fdt。在根目錄下,使用者可以用dos命令"md"再建立不同的各個子目錄,以及子目錄下的子目錄。
根目錄以及各級子目錄都有自己的fdt。
在具體操作中,系統規定用字母c-z代表邏輯碟符,所以dos簡單地用「[碟符:]/」表示在根目錄下。根目錄的作用是分配根目錄下的所有檔案和子目錄的儲存空間(邏輯扇區號),並且通過裝置驅動程式介面確定有效的最大目錄項。
1.根目錄中的fdt
根目錄的作用是分配根目錄下的所有檔案和子目錄的儲存空間(邏輯扇區號),並通過裝置驅動程式介面確定有效的最大目錄項。
根目錄下的所有檔案及其子目錄在根目錄的檔案目錄表(fdt)中都有乙個「目錄登記項」或簡稱為「目錄項」。每個目錄登記項占用32個位元組,分為8個區域,提供有關檔案或子目錄的資訊。其中包括了dos的系統檔案(io.sys、msdos.sys、和command.com)的目錄項。
常用軟盤的根目錄(fdt)所在邏輯扇區如下:
360kb:5--11扇區,共7個扇區
1.2mb:15--28扇區,共14個扇區
1.44mb:19--32扇區,共14個扇區
在硬碟中,各邏輯盤的根fdt的起始邏輯扇區由分割槽容量確定。在fat16中,其大小總是32(20h)個扇區。fat32中的根fdt大小與其邏輯盤容量有關。
下面是用debug讀出1.44mb軟盤邏輯13h扇區開始的14個扇區內容的例子。
c>debug
-l 00 0 13 e
-d 00
0de5:0000 49 4f 20 20 20 20 20 20-53 59 53 27 00 00 00 00 io sys'....
0de5:0010 00 00 00 00 00 00 c0 32-bf 1c 1d 00 46 9f 00 00 ......2...f.....
0de5:0020 4d 53 44 4f 53 20 20 20-53 59 53 27 00 00 00 00 msdos sys'....
0de5:0030 00 00 00 00 00 00 c0 32-bf 1c 6d 00 fa 94 00 00 .......2 ..m...
0de5:0040 43 4f 4d 4d 41 4e 44 20-43 4f 4d 20 00 00 00 00 command com..
0de5:0050 00 00 00 00 00 00 c0 32-bf 1c b8 00 75 d5 00 00 .......2 ..u...
2.fdt中的目錄項
根目錄下的所有檔案及其子目錄在根目錄的檔案目錄表(fdt)中都有乙個「目錄登記項」或簡稱為「目錄項」。
由於每個檔案的目錄登記項占用32個位元組,用作目錄的乙個扇區(512位元組)最多只能裝入512/32=16個檔案。因此,在常用磁碟的根目錄下最多可建檔案或子目錄數如下:
360 kb: 共7個扇區, 7*16=112個檔案或子目錄。
1.2 mb: 共14個扇區,14*16=224個檔案或子目錄。
1.44mb: 共14個扇區,14*16=224個檔案或子目錄。
硬碟邏輯盤:共32個扇區,16*32=512個檔案或子目錄。
在fdt中,每個目錄登記項占用32個位元組,分為8個區域,提供有關檔案或子目錄的資訊,包括dos的系統檔案io.sys、msdos.sys的目錄項。
在fat16檔案系統中,乙個檔案目錄登記項32個位元組中個位元組的內容及含義如表6-6所示。
表6-6 fat16檔案目錄項內容及含義表
位元組位置
內 容 及 含 義
第0--7位元組
表示檔名
第8--10位元組
表示檔案的副檔名
第11位元組表示
檔案屬性
00h(讀寫)
01h(唯讀)
02h(隱藏)
04h(系統)
08h(卷標)
10h(子目錄)
20h(歸檔——只要完成了寫操作並已關閉,則該位置1)
第12--21位元組
保留未用
第22--23位元組
表示檔案的建立時間
第24--25位元組
表示檔案的建立日期
第26--27位元組
表示檔案的起始簇號(首簇號)
第28--31位元組
表示檔案的位元組數
fat16檔案系統對每個檔案來說其資料結構是乙個單項簇鍊錶,而檔案在檔案目錄表fdt中佔乙個檔案目錄項,每個檔案的首簇號就存放在該檔案的目錄項中,乙個檔案目錄項佔32個位元組。對fdt中乙個檔案目錄項的幾個引數值作如下說明:
(1)檔名
fat16檔案系統中,fdt的檔案目錄項中第0-7位元組為檔名(若有剩餘位元組則用空白符20h填充)。其中,第1位元組又表明了該檔案的狀態,它有如下3種取值方式:
·00h目錄項的空表目。
·e5表示該目錄項曾經使用過,但檔案已被刪除。
·2e表示該項為子目錄項。
其它任何字元表示乙個檔名(或子目錄名)的第乙個字元的ascii碼值。
(2)檔案屬性
第11位元組為檔案屬性位元組,按位規定如下:
b7b6
b5b4
b3b2
b1b0
未用未用歸檔
子目錄卷標
系統隱藏
唯讀(3)檔案建立(修改)時間
·(第22位元組0--4位)以2秒為增量的二進位制樹
·(23位元組0--2位)+(22位元組5--7位)為分鐘
·(第23位元組3--7位)為小時
(4)檔案建立(修改)日期
·(第24位元組0--4位)為日期1--31
·(25位元組0位)+(24位元組5--7位)為月份1--12
·(第25位元組1--7位)為年號0--119(1980--2099)
(5)檔案首簇號
第26、27 位元組存放該檔案的首簇號。系統根據fat中該檔案的單鏈表即可找到它的全部內容。
要注意區分檔案目錄表(fdt)和fdt中的目錄登記項這兩個概念。
目錄登記項是乙個32位元組長的資料塊,它記錄了乙個檔案或子目錄的有關資訊。fdt是由若干目錄登記項組成的乙個表。根目錄區是盤卷上的乙個固定區域,根目錄及各子目錄都有各自的fdt
檔案目錄表 FDT 及其結構
用format命令對磁碟 或邏輯盤 進行格式化的時候,就已經為整個硬碟建立了乙個根目錄fdt。在根目錄下,使用者可以用dos命令 md 再建立不同的各個子目錄,以及子目錄下的子目錄。根目錄以及各級子目錄都有自己的fdt。在具體操作中,系統規定用字母c z代表邏輯碟符,所以dos簡單地用 碟符 表示在...
檔案目錄表 FDT 及其結構
用format命令對磁碟 或邏輯盤 進行格式化的時候,就已經為整個硬碟建立了乙個根目錄fdt。在根目錄下,使用者可以用dos命令 md 再建立不同的各個子目錄,以及子目錄下的子目錄。根目錄以及各級子目錄都有自己的fdt。在具體操作中,系統規定用字母c z代表邏輯碟符,所以dos簡單地用 碟符 表示在...
檔案分配表 FAT 及其結構
檔案分配表 fat 是檔案管理系統用來給每個檔案分配磁碟物理空間的 它告訴作業系統,檔案存放在磁碟的什麼地方。1.fat表的大小及位置 fat在磁碟上是安排在緊接dos引導扇區 dbr 之後的。在fat16系統中,它總是從dos的邏輯1扇區開始。在磁碟上共有fat表的兩個拷貝 乙個是基本fat表,另...