新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 對ROMFS文件系統(tǒng)的分析和改進

對ROMFS文件系統(tǒng)的分析和改進

作者: 時間:2012-03-26 來源:網(wǎng)絡 收藏

引言:是在嵌入式設備上常用的一種,具備體積小,可靠性好,讀取速度快等優(yōu)點。同時支持目錄,符號鏈接,硬鏈接,設備文件。但也有其局限性。是一種只讀,同時由于本身設計上的原因,使得ROMFS支持的最大文件不超過256M。本文討論了 ROMFS的原理,并針對其代碼做了詳細的分析,指出了ROMFS的優(yōu)缺點并做了相應的改進。Linux, uclinux都支持ROMFS。除ROMFS外,其它常用的嵌入式設備的文件系統(tǒng)還有CRAMFS,JFFS2等,它們各有特色。

1.ROMFS文件系統(tǒng)的特點

ROMFS是一種只讀的文件系統(tǒng),它使用順序存儲方式,所有數(shù)據(jù),包括目錄,鏈接等都按目錄樹的順序存放。相對于EXT2等較大型的文件系統(tǒng)而言,ROMFS非常節(jié)省空間。通常ROMFS用在嵌入式設備中作為根文件系統(tǒng),或者用于保存boot loader以便引導系統(tǒng)啟動。

2.ROMFS文件系統(tǒng)的數(shù)據(jù)存儲方式

設計一個文件系統(tǒng)首先要確定它的數(shù)據(jù)存儲方式。不同的數(shù)據(jù)存儲方式對文件系統(tǒng)占用空間,讀寫效率,查找速度等主要性能有極大影響。ROMFS是一種只讀的文件系統(tǒng),它使用順序存儲方式,所有數(shù)據(jù)都是順序存放的。因此ROMFS中的數(shù)據(jù)一旦確定就無法修改,這是ROMFS只能是一種只讀文件系統(tǒng)的原因,它的數(shù)據(jù)存儲方式?jīng)Q定了無法對ROMFS進行寫操作。由于采用了順序存放策略,ROMFS中每個文件的數(shù)據(jù)都能連續(xù)存放,讀取過程中只需要一次尋址操作,進而就可以讀入整塊數(shù)據(jù),因此ROMFS中讀取數(shù)據(jù)效率很高。

整個ROMFS文件系統(tǒng)的布局如下:

ROMFS的首部


前八個字節(jié)是文件系統(tǒng)的名字,在這里是”-rom1fs-“, 8-11字節(jié)存放該文件系統(tǒng)大小,12-15字節(jié)為前512字節(jié)的校驗和,從16字節(jié)開始是文件系統(tǒng)的卷名,卷名的長度必須的16字節(jié)的整數(shù)倍,不足的部分可以用‘0’填充。

ROMFS的首部是ROMFS的超級塊信息,操作系統(tǒng)通過超級塊來識別文件系統(tǒng)的類型。首部之后就是實際的數(shù)據(jù),包括目錄,普通文件,設備文件,硬鏈接等。ROMFS支持所有這些類型的文件。

ROMFS文件系統(tǒng)中文件存儲方式:


上一頁 1 2 3 4 下一頁

評論


相關推薦

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

關閉