• 正文
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

常見文件系統(tǒng)(ext4、squashfs、ubifs、jffs2、tmpfs 等)特性匯總對(duì)比

04/03 10:15
285
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

哈嘍,大家好,我是程序員秘書LittleG。

上篇:Linux sort命令 | 整理文件數(shù)據(jù)利器

哈嘍,大家好,好久不見,最近半年換工作了,到新單位比較忙,所以文章也沒怎么寫。最近轉(zhuǎn)正答辯過(guò)了,終于可以摸魚了。

最近2周在看文件系統(tǒng)的內(nèi)容,剛好學(xué)習(xí)記錄一下。

簡(jiǎn)介

ext4

特性:支持大容量(單個(gè)文件最大16 TiB,總?cè)萘靠蛇_(dá)1 EiB)、日志功能、高穩(wěn)定性。

適用場(chǎng)景Yocto根文件系統(tǒng)、Android系統(tǒng)的/system分區(qū)、通用存儲(chǔ)。

優(yōu)點(diǎn):高度可靠,適用于需要大量數(shù)據(jù)存儲(chǔ)和快速訪問的應(yīng)用場(chǎng)景。

缺點(diǎn):對(duì)于閃存等特殊存儲(chǔ)介質(zhì)的支持不如專門設(shè)計(jì)的文件系統(tǒng)。

SquashFS

特性:高壓縮率、只讀特性、快速掛載。

適用場(chǎng)景:Yocto固件鏡像、只讀根文件系統(tǒng)(如/usr)、容器鏡像。

優(yōu)點(diǎn):節(jié)省空間,適合于需要減少存儲(chǔ)占用的場(chǎng)景。

缺點(diǎn):只讀特性限制了其在需要?jiǎng)討B(tài)修改內(nèi)容的應(yīng)用中的使用。

UBIFS

特性NAND閃存優(yōu)化(壞塊管理、壓縮)、動(dòng)態(tài)分區(qū)調(diào)整、日志功能。

適用場(chǎng)景:ARM嵌入式設(shè)備的可讀寫閃存存儲(chǔ)(IoT設(shè)備、工控系統(tǒng))。

優(yōu)點(diǎn):專為閃存設(shè)計(jì),具有良好的磨損均衡和可靠性。

缺點(diǎn):相比其他通用文件系統(tǒng),可能不適合非閃存介質(zhì)。

JFFS2

特性:直接操作閃存塊、掉電保護(hù)、支持NOR/NAND閃存。

適用場(chǎng)景:小容量閃存分區(qū)(Bootloader、內(nèi)核)、低功耗設(shè)備的只讀/可寫分區(qū)。

優(yōu)點(diǎn):簡(jiǎn)單高效,特別適合小型嵌入式系統(tǒng)。

缺點(diǎn):隨著閃存容量增加,性能可能會(huì)下降。

tmpfs

特性:基于內(nèi)存的極速讀寫、動(dòng)態(tài)調(diào)整容量。

適用場(chǎng)景:臨時(shí)緩存(/tmp)、進(jìn)程共享內(nèi)存、運(yùn)行時(shí)臨時(shí)數(shù)據(jù)存儲(chǔ)。

優(yōu)點(diǎn):極快的讀寫速度,因?yàn)閿?shù)據(jù)保存在RAM中。

缺點(diǎn):數(shù)據(jù)不持久化,斷電后丟失。

FAT32/vfat

特性:跨平臺(tái)兼容(Windows/Android/Linux)、支持UEFI啟動(dòng)。

適用場(chǎng)景:Android外部存儲(chǔ)(SD卡/U盤)、Yocto UEFI啟動(dòng)分區(qū)。

優(yōu)點(diǎn):廣泛的兼容性使其成為外部存儲(chǔ)的理想選擇。

缺點(diǎn):?jiǎn)蝹€(gè)文件大小限制(最大4GB),缺乏高級(jí)功能如權(quán)限控制。

?F2FS

特性:閃存壽命優(yōu)化(TRIM、垃圾回收)、高性能隨機(jī)寫入。

適用場(chǎng)景:Android用戶數(shù)據(jù)分區(qū)(/data)、閃存設(shè)備的頻繁讀寫場(chǎng)景。

優(yōu)點(diǎn):專門為閃存設(shè)計(jì),提高了數(shù)據(jù)寫入效率和閃存使用壽命。

缺點(diǎn):主要針對(duì)閃存優(yōu)化,可能不適合其他類型的存儲(chǔ)介質(zhì)。

對(duì)比

提醒:表格因等寬限制,可能在電腦端閱讀體驗(yàn)更佳。

特性/文件系統(tǒng) ext4 SquashFS UBIFS JFFS2 tmpfs FAT32/vfat F2FS
類型 通用文件系統(tǒng) 只讀壓縮 NAND閃存專用 NOR/NAND閃存 內(nèi)存文件系統(tǒng) 跨平臺(tái)兼容 閃存專用
讀寫支持 支持讀寫 只讀 支持讀寫 支持讀寫 基于內(nèi)存 支持讀寫 支持讀寫
壓縮支持 無(wú) 可選 無(wú) 無(wú) 無(wú) 無(wú)
適用存儲(chǔ) 硬盤、SSD等 通用存儲(chǔ) NAND閃存 NOR/NAND閃存 RAM SD卡、U盤等 SSD、eMMC等
服務(wù)目標(biāo) 大容量、高穩(wěn)定性 減少空間占用 提高閃存可靠性 小型嵌入式系統(tǒng) 極速讀寫 跨平臺(tái)兼容性 優(yōu)化閃存壽命
典型用途 根文件系統(tǒng)、系統(tǒng)分區(qū) 固件、容器鏡像 IoT、工控系統(tǒng) Bootloader、內(nèi)核 臨時(shí)緩存 SD卡、UEFI啟動(dòng) 用戶數(shù)據(jù)分區(qū)

特別說(shuō)明:

嵌入式系統(tǒng)通常會(huì)選擇使用SquashFS(只讀)或UBIFS(可讀寫)作為rootfs。

提醒:表格因等寬限制,可能在電腦端閱讀體驗(yàn)更佳。

特性 SquashFS UBIFS
類型 只讀壓縮 日志式,支持寫入
讀寫支持 只讀 支持讀寫
壓縮 高壓縮率,可以減少空間占用 無(wú)壓縮
存儲(chǔ)類型 通用存儲(chǔ) 閃存(NAND)
適用場(chǎng)景 固件、只讀系統(tǒng) 嵌入式閃存存儲(chǔ)

需要注意rootfs并不是具體的文件系統(tǒng)類型,而是指Linux系統(tǒng)啟動(dòng)時(shí)首先掛載的根文件系統(tǒng),可以基于上述任何一種文件系統(tǒng)類型實(shí)現(xiàn)。

? ? - SquashFS?作為只讀根文件系統(tǒng);

? ? - UBIFS?作為可寫分區(qū);

? ? - rootfs?統(tǒng)一管理這些分區(qū);

實(shí)際中,可能會(huì)組合使用,比如將rootfs配置為squashfs,將data分區(qū)配置為ubifs。

下期見~

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄