嵌入式Linux 文件系統簡介


1 文件系統簡介

Linux 目錄結構的最頂層是一個被稱為“/”的根目錄。系統加載Linux 內核之后,會
掛載一個設備到根目錄上。存在這個設備中的文件系統被稱為根文件系統。所有的系
統命令、系統配置以及其他文件系統的掛載點都位於這個根文件系統中。
根文件系統通常存放於內存和Flash 中。根文件系統中存放了嵌入式系統使用的所有應
用程序、庫以及其他需要用到的服務。
嵌入式系統中常用文件系統包括有:cramfs、squashfs、JFFS2、yaffs2、UBIFS、ext4。
它們的特點如下:
􀁺 cramfs 和JFFS2 具有好的空間特性,生成的鏡像小,占用的Flash 空間小,很適合
小型嵌入式產品應用;
􀁺 cramfs 和squashfs 為只讀壓縮文件系統,squashfs 相比於cramfs,能提供更大的壓
縮比,支持更大的鏡像和文件;
􀁺 JFFS2 為可讀寫的壓縮文件系統,其掛載時間與Flash 容量有關,越大的Flash,
掛載時間越長,而且每次加載都需要將Flash 上的所有節點(JFFS2 的存儲單位)加
載到內存,因此內存消耗較大。由於JFFS2 是按字節訪問Flash,因此,只能用於
SPI NOR Flash,不能用於NAND Flash;
􀁺 yaffs2 文件系統是NAND Flash 上使用較為成熟的文件系統,並且只能用於NAND
Flash,相比於JFFS2,其內存消耗較小,但掛載時間仍然與Flash 容量相關,越大
的Flash,掛載時間越長;
􀁺 UBIFS 一種用在大容量Flash 上的可讀寫文件系統,對Flash 的容量依賴較小,相
比於yaffs2 和JFFS2,其掛載時間和內存消耗都小很多,可以很好的適應GB 以上
大小的大容量Flash;
􀁺 ext4 是Linux 系統下的日志文件系統,適用於eMMC 這類塊設備存儲器件。


2 cramfs
cramfs 是針對Linux 內核2.4 之后的版本所設計的一種新型文件系統,使用簡單,加載
容易,速度快。
Linux 開發環境
用戶指南 5 Linux 文件系統
文檔版本 04 (2016-07-18) 海思專有和保密信息
版權所有 © 深圳市海思半導體有限公司 22
cramfs 的優缺點如下:
􀁺 優點:
將文件數據以壓縮形式存儲,在需要運行時進行解壓縮,能節省Flash 存儲空間。
􀁺 缺點:
由於它存儲的文件是壓縮的格式,所以文件系統不能直接在Flash 上運行。同時,
文件系統運行時需要解壓數據並拷貝至內存中,在一定程度上降低讀取效率。另
外cramfs 文件系統是只讀的。


3 squashfs
squashfs 文件系統也是一種壓縮的只讀文件系統。與cramfs 相比,能提供更大的壓縮
比,支持更大的鏡像和文件。


4 JFFS2
JFFS2 是RedHat 的David Woodhouse 在JFFS 基礎上改進的文件系統,是用於微型嵌入
式設備的原始閃存芯片的實際文件系統。JFFS2 文件系統是日志結構化的可讀寫的文
件系統。
JFFS2 的優缺點如下:
􀁺 優點:
使用了壓縮的文件格式。最重要的特性是可讀寫操作。
􀁺 缺點:
JFFS2 文件系統掛載時需要掃描整個JFFS2 文件系統,因此當JFFS2 文件系統分
區增大時,掛載時間也會相應的變長。使用JFFS2 格式可能帶來少量的Flash 空間
的浪費,這主要是由於日志文件的過度開銷和用於回收系統的無用存儲單元,浪
費的空間大小大致是若干個數據段。
JFFS2 的另一缺點是當文件系統已滿或接近滿時,JFFS2 運行速度會迅速降低。這
是因為垃圾收集的問題。
加載JFFS2 文件系統時的步驟如下:
步驟 1 掃描整個芯片,對日志節點進行校驗,並且將日志節點全部裝入內存緩存。
步驟 2 對所有日志節點進行整理,抽取有效的節點並整理出文件目錄信息。
步驟 3 找出文件系統中無效節點並且將它們刪除。
步驟 4 最后整理內存中的信息,將加載到緩存中的無效節點釋放。
----結束
由此可以看出,雖然這樣能有效地提高系統的可靠性,但是在一定程度上降低了系統
的速度。尤其對於較大的閃存芯片,加載過程會更慢。
Linux 開發環境
用戶指南 5 Linux 文件系統
文檔版本 04 (2016-07-18) 海思專有和保密信息
版權所有 © 深圳市海思半導體有限公司 23

5 yaffs2
yaffs2 是專門為NAND、SPI NAND 設計的嵌入式文件系統。它是日志結構的文件系
統,提供了損耗平衡和掉電保護,可以有效地避免意外掉電對文件系統一致性和完整
性的影響。
yaffs2 的優缺點如下:
􀁺 優點:
− 專門針對 NAND、SPI NAND,軟件結構得到優化,速度快。
− 使用硬件的 spare area 區域存儲文件組織信息,啟動時只需掃描組織信息,啟
動比較快。
− 采用多策略垃圾回收算法,能夠提高垃圾回收的效率和公平性,達到損耗平衡
的目的。
􀁺 缺點:
沒有采用壓縮的文件格式。如果用同等大小的文件夾制作根文件系統,yaffs2 鏡像
文件要比JFFS2 鏡像文件大。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM