新聞中心

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

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

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

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

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

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

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

設(shè)計一個文件系統(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進(jìn)行寫操作。由于采用了順序存放策略,ROMFS中每個文件的數(shù)據(jù)都能連續(xù)存放,讀取過程中只需要一次尋址操作,進(jìn)而就可以讀入整塊數(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ù),包括目錄,普通文件,設(shè)備文件,硬鏈接等。ROMFS支持所有這些類型的文件。

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


上一頁 1 2 3 4 下一頁

關(guān)鍵詞: ROMFS 文件系統(tǒng)

評論


相關(guān)推薦

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

關(guān)閉