新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > linux文件系統(tǒng)基礎(chǔ)知識

linux文件系統(tǒng)基礎(chǔ)知識

作者: 時間:2016-10-08 來源:網(wǎng)絡(luò) 收藏

利用直接指針、單級間接指針、二級間接指針、三級間接指針可保存的最大文件大小為:

1024*12+1024*256+1024*256*256+1024*256*256*256=16843020 KB,約 16GB

若數(shù)據(jù)塊大小為2048B,指針占4B,則最大文件大小為: 2048*12+2048*512+2048*512*512+2048*512*512*512=268,960,792 KB 約 268GB

若數(shù)據(jù)塊大小為4096B,指針占4B,則最大文件大小為: 4096*12+4096*1024+4096*1024*1024+4096*1024*1024*1024=4,299,165,744 KB ,約 4TB

注: 命令 tune2fs -l /dev/sda5 可查看文件系統(tǒng)

ext2文件系統(tǒng)最大文件名長度: 255個字符

ext2文件系統(tǒng)的缺點:

ext2在寫入文件內(nèi)容的同時并沒有同時寫入文件meta-data, 其工作順序是先寫入文件的內(nèi)容,然后等空閑時候才寫入文件的meta-data。若發(fā)生意外,則文件系統(tǒng)就會處于不一致狀態(tài)。

在重新啟動系統(tǒng)的時候,linux會啟動 fsk ( file system check) 的程序,掃描整個文件系統(tǒng)并試圖修復(fù),但不提供保證。

9、ext3文件系統(tǒng):

ext3基于ext2的代碼,所以磁盤格式與ext2相同,使用相同的元數(shù)據(jù)。

ext2文件系統(tǒng)無損轉(zhuǎn)化為ext3文件系統(tǒng): tune2fs -j /dev/sda6

日志塊設(shè)備( Journaling block device layer,JBD)完成ext3文件系統(tǒng)日志功能。JBD不是ext3文件系統(tǒng)所特有的,它的設(shè)計目標(biāo)是為了向一個塊設(shè)備添加日志功能。

當(dāng)一個文件修改執(zhí)行時,ext3文件系統(tǒng)代碼將通知JBD,稱為一個事務(wù)(transaction)。發(fā)生意外時,日志功能具有的重放功能,能重新執(zhí)行中斷的事務(wù)。

日志中的3種數(shù)據(jù)模式:

1)、data=writeback :不處理任何形式的日志數(shù)據(jù),給用戶整體上的最高性能

2)、data=odered :只記錄元數(shù)據(jù)日志,但將元數(shù)據(jù)和數(shù)據(jù)組成一個單元稱為事務(wù)(transaction) 。此模式保持所句句的可靠性與文件系統(tǒng)的一致性,性能遠(yuǎn)低于data=writeback模式,但比data=journal模式快

3)、data=journal :提供完整的數(shù)據(jù)及元數(shù)據(jù)日志,所有新數(shù)據(jù)首先被寫入日志,然后才被定位。意外發(fā)生過后,日志可以被重放,將數(shù)據(jù)與元數(shù)據(jù)帶回一致狀態(tài)。這種模式整體性能最慢,但數(shù)據(jù)需要從磁盤讀取和寫入磁盤時卻是3種模式中最快的。

ext3文件系統(tǒng)最大文件名長度: 255個字符

ext3文件系統(tǒng)的優(yōu)點:可用性、數(shù)據(jù)完整性、速度、兼容性

10、ReiserFS文件系統(tǒng)

ReiserFS文件系統(tǒng)是由Hans Reiser和他領(lǐng)導(dǎo)的開發(fā)小組共同開發(fā)的,整個文件系統(tǒng)完全是從頭設(shè)計的,是一個非常優(yōu)秀的文件系統(tǒng)。也是最早用于Linux的日志文件系統(tǒng)之一。

ReiserFS的特點

先進(jìn)的日志機(jī)制

ReiserFS有先進(jìn)的日志(Journaling/logging)功能 機(jī)制。日志機(jī)制保證了在每個實際數(shù)據(jù)修改之前,相應(yīng)的日志已經(jīng)寫入硬盤。文件與數(shù)據(jù)的安全性有了很大提高。

高效的磁盤空間利用

Reiserfs對一些小文件不分配inode。而是將這些文件打包,存放在同一個磁盤分塊中。而其它文件系統(tǒng)則為每個小文件分別放置到一個磁盤分塊中。

獨(dú)特的搜尋方式

ReiserFS基于快速平衡樹(balanced tree)搜索,平衡樹在性能上非常卓越,這是一種非常高效的算法。ReiserFS搜索大量文件時,搜索速度要比ext2快得多。Reiserfs文件系統(tǒng)使用B*Tree存儲文件,而其它文件系統(tǒng)使用B+Tree樹。B*Tree查詢速度比B+Tree要快很多。Reiserfs在文件定位上速度非常快。

在實際運(yùn)用中,ReiserFS 在處理小于 4k 的文件時,比ext2 快 5 倍;帶尾文件壓縮功能(默認(rèn))的ReiserFS 比ext2文件系統(tǒng)多存儲6%的數(shù)據(jù)。

支持海量磁盤

ReiserFS是一個非常優(yōu)秀的文件系統(tǒng),一直被用在高端UNIX系統(tǒng)上,可輕松管理上百G的文件系統(tǒng),ReiserFS文件系統(tǒng)最大支持的文件系統(tǒng)尺寸為16TB。這非常適合企業(yè)級應(yīng)用中。

優(yōu)異的性能

由于它的高效存儲和快速小文件I/O特點,使用ReiserFs文件系統(tǒng)的PC,在啟動X窗口系統(tǒng)時,所花的時間要比在同一臺機(jī)器上使用ext2文件系統(tǒng)少1/3。另外,ReiserFS文件系統(tǒng)支持單個文件尺寸為4G的文件,這為大型數(shù)據(jù)庫系統(tǒng)在linux上的應(yīng)用提供了更好的選擇。


上一頁 1 2 下一頁

關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉