新聞中心

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

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

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

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

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

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

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

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

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

ROMFS的首部


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

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

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


上一頁(yè) 1 2 3 4 下一頁(yè)

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

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉