日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

FAT16文件系统之目录项分析(四)

發布時間:2024/3/26 windows 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FAT16文件系统之目录项分析(四) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

FAT16文件系統的FDT分析

1:FDT位置

FDT的含義為文件目錄表,它在一個文件系統中的具體位置是緊跟在FAT2之后。

定位過程:

A:系統通過讀取該分區表信息,定位到其DBR扇區

B:讀取DBR的保留扇區數(OEH –0FH).

C:讀取每個FAT扇區數(16H – 17H)

D:讀取FAT表的個數保留扇區當數 +  FAT個數 * 每個FAT扇區數

FDT的數據內容



FAT16文件系統目錄項分析

1:目錄項的作用及結構特點

目錄項對于FAT文件系統來講也是很重要的一個組成部分,其主要及結構特點如下

A:分區中的每一個文件中文件夾都被分配一個大小為32字節的目錄項,用心描述文件或文件夾的屬性,大小,起始簇號和時間,日期等信息,那當然也有文件或文件夾的名字

B:在FAT文件系統中,目錄被視為特殊類型的文件,所以每一個目錄也跟文件一樣有目錄項。

C:在FAT16文件系統下,分區根目錄下的文件及文件夾的目錄項存放在FDT中,分區子目錄下的文件及文件夾的目錄項存放在數據區中相應的簇中。

D:根據目錄項的作用及特點,可以把目錄項分為四類

短文件名目錄項長文件名目錄項“.”目錄項和“..”目錄項卷標目錄項

2:短文件名目錄項

所謂的短文件名是指DOS和Windows 3.x時代文件名的傳統格式即“8.3”格式。在這種格式的限制下,用戶在給文件起名字的時候,主文件名不能超過8個字符,并且不支持中文。在這種格式下,文件目錄項中只需要記錄8 + 3 = 11字節就可以保存文件名了,(主文件名與擴展名之間的“.”是默認的,不有記錄),這種格式的目錄項就是短文件名目錄項.

FAT16短文件名目錄項的含義

字節偏移

字段長度

字段內容及含義

0x00

8

主文件名

0x08

3

文件的擴展名

?

?

?

0x0B

?

?

?

1

?

文件屬性

00000000(讀/寫) 0x00

00000001(只讀) 0x01

00000010(隱藏) 0x20

00000100(系統) 0x40

00001000(卷標) 0x08

00010000(子目錄)0x10

00100000(存檔) 0x20

0x0C

1

未用

0x0D

1

文件創建時間精確到10ms的值

0x0E

2

文件創建時間,包括時,分,秒

0x10

2

文件創建日期,包括年,月,日

0x12

2

文件最近訪問日期,包括年,月,日

0x14

2

未用

0x16

2

文件修改時間,包括時,分,秒

0x18

2

文件修改日期,包括年,月,日

0x1A

2

文件的起始簇號

0x1c

4

文件大小(以字節為單位)

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?





參數詳細分析

(1)??????主文件名

文件名用不完8個字節,后面用空格(0x20)填充。

另外該位置的第一個字節也用來表示目錄項的分配狀態,當這個字節為 0x00時,表示該目錄從未用過,當這個字節是0xE5時,表示該目錄項曾經使用過,但目前已經被刪除

(2)??????文件擴展名

沒有擴展名的用空格填充

(3)??????文件屬性

文件的各種屬性,表示的方法是按二進制位定義,最高兩位保留未用,

(4)??????未用

(5)??????文件創建時間精確到10ms的值

文件在創建時的時間值中精確到10ms的值用該字節表示。例如:86H,十進制為134,所以文件創建的時間為1340ms,即1.34s.

(6)??????文件創建時間

A:0-4位,這5位記錄秒的值,單位是2s,也就是把這四位的值乘以2,才是秒的值,其取值范圍為0-29.

B:5-10位,這6位記錄分的值,其取值范圍為0-59.

C:11-15位,這5位記錄時的值,其取值范圍為0-23

計算出來的值再加上1340ms。才是文件最終的創建時間。.

(7)??????文件創建日期

A:0-4位,這5位記錄日的值,其取值范圍為0-31

B:5-8位,這4位記錄月的值,其取值范圍為0-12.

C:9-15位,這7位記錄年的值,其取值相對于1980年開始計數的,其值必須加上1980。

(8)??????文件最近訪問日期

同文件創建日期算法一樣

(9)??????未用

(10)??文件修改時間略

(11)??文件修改日期略

(12)??文件起始簇號

是指文件的內容所在的第一個簇號

(13)文件大小以字節大小為單位小端存儲

3:長文件名目錄項

???????? 為了兼容DOS與Winddows 3.x在Winddows 95以上的系統中,超過8.3格式的文件或目錄實際存儲著兩個名字,一個短文件名和一個長文件名。當創建一個長文件名時,其對應的短文件名的處理有以下三個原則:

A:系統取長文件名的前6個字符加上“~1”,形成短文件名,其擴展名保持不變

B:如果已經存在這個名字的文件,數字自動加1,“~2”

C:如果有DOS與Winddows 3.x的非法字符,以“-_”替代。

?

長文件名存儲時,其屬性值為 OFH,能夠存儲13個字符,如果文件名很長,一個長文件名需要多個目錄項,這些目錄是倒序排放在其短文件名的前面。

???????????????????????????????????? FAT16長文件名目錄項的含義

字節偏移

字段長度

字段內容及含義

0x00

1

序列號

0x01

10

文件名的第1-5個Unicode碼字符

0x0B

1

屬性標志 OFH固定值

0x0C

1

保留未用

0x0D

1

短文件名檢驗和

0x0E

12

文件名的第6-11個Unicode碼字符

0x1A

2

始終為0

0x1c

2

文件名的第12-13個Unicode碼字符

?

?











特殊說明

(1)??????序列號

0-4位描述了長文件名目錄項的順序號

6位若為1,則表明是目錄項的最后一項

如果文件被刪除,該字節會改為“E5”。

(2)??????文件名字符

如果文件名已經記錄完,但該參數的空間中還有未用的字節,就會在文件名最后一個字符填充兩個00H,隨后未用的填充FFH

?

(3)??????短文件名檢驗和

長文件名目錄項通過這個檢驗和將其與短文件名目錄項關聯起來。檢驗和是通過短文件名計算而來的,同一長文件名的檢驗和必須一致。

?

???????? 校驗和的計算方法是依次將短文件名的各個字符對應的二進制相加,在每一步相加之前先將二進制的值依次向右移動一位,最右邊的位循環移動到最左邊,然后再加上下一個字符所對應的二進制值,直到把最后一個字符加完。

?

4:“.”目錄項(當前目錄)和“..”目錄項(上級目錄)

???????? 在子目錄所在的文件目錄項區域中,總有兩個特殊的目錄,“.”目錄項和“..”目錄項可以用DOS命令的DIR查看到。

說明

A:“.”目錄項所描述的起始簇號,是子目錄本身所在簇號,

B:“..”目錄項所描述的起始簇號,是上一級目錄的起始簇號,如果上級目錄為根目錄,則起始簇號被設置為0.

C:這兩個目錄都大小被設置0,同其他的文件夾目錄項一樣。

系統利用“.”目錄項(當前目錄)和“..”目錄項實現目錄之間的雙向聯系,從而把整個文件系統聯系在一起。

5:卷標目錄項

???????? 卷標可以被隨時修改,存放在FDT中,

?

A:卷標屬于短文件名,最大支持11個字符。

B:不記錄起始簇號與大小

C:不記錄創建時間和最后訪問時間,只記錄修改時間

總結

以上是生活随笔為你收集整理的FAT16文件系统之目录项分析(四)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。