更新時間:2020-12-15 17:49:47 來源:動力節(jié)點 瀏覽1739次
我們知道文件系統(tǒng)是位于磁盤之上的,那么為什么Linux系統(tǒng)不直接從磁盤上讀寫數(shù)據(jù),而選擇使用文件系統(tǒng)呢?本文我們就來為大家揭秘為什么使用Linux文件系統(tǒng)。
首先,如果我們從磁盤上讀寫數(shù)據(jù),從感官上應該是比較復雜的。我們需要知道在哪個盤片上,然后需要知道在盤片的什么位置,然后才能讀取或者寫入數(shù)據(jù)。實際上不用那么復雜,磁盤的控制器已經(jīng)替我們做了很多事情,它對這些內部的結構進行了統(tǒng)一管理,呈現(xiàn)給我們的只是一個線性的地址。比如一個1T的硬盤,其呈現(xiàn)給我們的就是從0字節(jié)開始,以1字節(jié)遞增,直到1TB的地址空間。當然,機械磁盤可進行讀寫的最小粒度為1個扇區(qū)(512字節(jié))。
既然可以這么方便的訪問磁盤空間了,那為什么還要使用linux文件系統(tǒng)呢?主要原因有如下三點:
1.便于磁盤空間管理
我們不考慮存儲操作系統(tǒng)的磁盤,即使是存放普通數(shù)據(jù)(例如放電影視頻文件)的磁盤,如果沒有文件系統(tǒng)會是什么樣子。
比如我們把音樂放到0到1GB的空間,電影放到1G到3G的空間。但是,我們還得找個地方記住這些音樂和電影的存儲起始位置和長度這些信息,否則我們就找不到我們想要的音樂和電影了。
而如果有了文件系統(tǒng)之后(格式化后)呢?我們只需要建立文件夾(當然也可以不創(chuàng)建),讓文件拷貝到里面就行了。我們根本不用考慮磁盤上的數(shù)據(jù)是怎么管理的。
2.方便數(shù)據(jù)的組織和查找
先感受一下在Linux操作系統(tǒng)下文件的組織形式,通常是一個樹狀的結構。也就是磁盤被格式化后通常用戶會創(chuàng)建若干個文件夾,然后在文件夾中再創(chuàng)建文件夾或者存儲文件。
比如我們用一個磁盤來專門存儲數(shù)據(jù),格式化之后我們創(chuàng)建若干個文件夾,分別是“電影”、“音樂”、“照片”和“電子書”等。然后在電子書里面有分別創(chuàng)建“Linux”、“編程語言”、“歷史”和“小說”等等。這樣我們將所有數(shù)據(jù)組織成非常有條理的樹形結構。
3.提高磁盤空間的使用率
如前文所說,如果沒有文件系統(tǒng),不需要的文件的空間再利用就會非常麻煩。有可能這塊空間的大小是1G或者1M,而新數(shù)據(jù)的大小是2G。那這個空間就無法使用。頻繁的釋放和使用空間之后,可能會留下很多小空間(空洞),而無法被使用,這樣就造成磁盤空間的極大浪費。
使用文件系統(tǒng)之后,文件系統(tǒng)會將磁盤空間切割為比較小的存儲單元(例如4K或者8K等)進行管理。如果出現(xiàn)釋放空間產(chǎn)生空洞的情況,文件系統(tǒng)內部會進行空洞和數(shù)據(jù)的交換,從而生成比較大塊的可用磁盤空間。這樣從整體來說就極大地提升了磁盤的整理使用率。
目前在Linux操作系統(tǒng)中支持很多種文件系統(tǒng),包括Ext2、Ext4、Btrfs和XFS等,多達幾十個文件系統(tǒng)。從某種程度上極大地豐富了Linux系統(tǒng)文件系統(tǒng),滿足了各種用戶的需求。想要體驗各種風格的Linux文件系統(tǒng),可以在本站的Linux教程中下載使用。