概述
- 文件系統(tǒng)分為平面文件系統(tǒng)(文件在同一個(gè)層次阅悍,無目錄結(jié)構(gòu))甥郑,分層文件系統(tǒng)(有目錄結(jié)構(gòu))渗钉。
- 文件類型分為:數(shù)據(jù)文件(保存數(shù)據(jù)信息)郭厌、目錄文件(保存數(shù)據(jù)文件的信息)
數(shù)據(jù)文件
以txt携茂,wav你踩,bmp文件舉例。
- txt文件:底層是2進(jìn)制數(shù)據(jù)讳苦,通過ASCII表解碼2進(jìn)制带膜,轉(zhuǎn)換成對應(yīng)文字
- wav文件
- 讀wav前需要先知道一些信息,如碼率鸳谜,單聲道or立體聲
- 以上信息存儲于元數(shù)據(jù)(meta-Data)中膝藕,即關(guān)于數(shù)據(jù)的數(shù)據(jù)
- 元數(shù)據(jù)存儲在文件頭,因此也叫文件頭咐扭,如圖1所示:
- wav存儲的數(shù)據(jù)為聲音的振幅芭挽,如圖2所示:
圖1:wav文件頭
圖二:wav文件數(shù)據(jù)
- bmp文件
-
文件頭如下所示:
bmp文件頭.png
-
平面文件系統(tǒng)(文件在同一個(gè)層次)
- 由目錄文件和數(shù)據(jù)文件組成,其中目錄文件存儲數(shù)據(jù)文件的元數(shù)據(jù)蝗肪,如創(chuàng)建時(shí)間袜爪、修改時(shí)間、文件長度和起始位置穗慕。目錄文件內(nèi)部信息如下圖所示:
目錄文件.png
- 碎片化存儲(增刪改查導(dǎo)致的)
定義:為了給文件的修改預(yù)留一定空間饿敲,一般會給每個(gè)文件分配固定大小的block,當(dāng)文件數(shù)據(jù)長度超過block長度逛绵,新增的文件數(shù)據(jù)會保存到新創(chuàng)建的block中怀各,這種存儲方式稱為碎片化存儲。
2.1 碎片化存儲下的數(shù)據(jù)文件增大
如下圖中的todo.txt文件被保留在block1和block5术浪,并由目錄文件記錄todo.txt存儲在哪些block中瓢对。
數(shù)據(jù)文件增大
2.2 碎片化存儲下的數(shù)據(jù)文件刪除
特點(diǎn):1.不刪除數(shù)據(jù)文件,只是刪除其在目錄文件中對應(yīng)的記錄胰苏;2.直到下一次有新的數(shù)據(jù)寫入硕蛹,原數(shù)據(jù)文件才會被覆蓋。如下圖所示,當(dāng)carrie.bmp被刪除時(shí)法焰,其數(shù)據(jù)并沒有被刪除秧荆,僅刪除其在目錄文件中對應(yīng)的記錄。
數(shù)據(jù)文件刪除
2.3 碎片整理
為了更高效地讀取數(shù)據(jù)埃仪,對于碎片化存儲的數(shù)據(jù)乙濒,操作系統(tǒng)會在對其進(jìn)行整理,使對應(yīng)的block能被連續(xù)讀取卵蛉。如下圖所示颁股,整理前todo.txt的存儲block為1,5,2,整理后其存儲block為1,2,3傻丝。
-
整理前:
image.png -
整理后:
image.png
分層文件系統(tǒng)
定義:即現(xiàn)在我們最常用的文件系統(tǒng)甘有,文件不一定放在同一層級下,通過創(chuàng)建子文件夾葡缰,文件可以被放在不同的文件夾下亏掀。每個(gè)文件夾都有自己的目錄文件。其中根文件夾的目錄文件被稱為根目錄文件运准。其與平面文件系統(tǒng)的區(qū)別僅僅是增加了一項(xiàng)“IS DIRECTORY”幌氮。
-
目錄文件增加一項(xiàng)元數(shù)據(jù)的記錄(是否文件夾)
image.png -
根目錄文件和子目錄文件
image.png