嵌入式文件系統
導讀:嵌入式文件系統是什么?對嵌入式文件系統有什么要求?目前常用的嵌入式文件系統又有哪些呢?
本文引用地址:http://dyxdggzs.com/article/283736.htm一、嵌入式文件系統是什么
嵌入式文件系指的是嵌入式系統所應用的文件系統。嵌入式文件系統與我們通常所用的文件系統有較大的區別:我們平時(shí)所用的文件系統大致都是相同的,但嵌入式文件系統要為嵌入式系統的設計目的服務(wù),不同用途的嵌入式操作系統下的文件系統在許多方面各不相同。目前大多數嵌入式系統采用的都是Linux,而嵌入式Linux常用的文件系統有Ext2fs第二版擴展文件系統、JFFS文件系統、YAFFS文件系統等。
二、對嵌入式文件系統的要求
1、由于嵌入式文件系統的載體是以Flash為主的存儲介質(zhì),Flash的擦除次數是有限的,所以為了延長(cháng)Flash的使用壽命,應該盡量減少對Flash的寫(xiě)入操作,盡量使對Flash的寫(xiě)入操作均勻分布在整個(gè)Flash上;
2、由于各種存儲器在分配使用一段時(shí)間后,會(huì )出現空缺和碎片數據,這就需要進(jìn)行垃圾回收以保證存儲器空間高效使用。Flash存儲器以扇區為單位,垃圾回收也應該以扇區為單位,嵌入式Flash文件系統回收要先移動(dòng)扇區數據,再擦除整個(gè)扇區;
3、要求文件系統在頻繁的文件操作(例如:新建、刪除、截斷等)下能夠保持較高的讀寫(xiě)性能,要求低碎片化;
4、要求掉電安全,無(wú)數據的丟失現象。
三、各嵌入式文件系統比較
Ramfs是Linus Torvalds開(kāi)發(fā)的,Ramfs把所用文件都放在RAM里運行,通常存放一些臨時(shí)或經(jīng)常要修改的數據。不像ramdisk的固定大小,Ramfs的大小可調。
Tmpfs是基于內存的文件系統,由于它駐留在RAM中,所以讀寫(xiě)都在RAM中,因此讀寫(xiě)瞬間完成。文件系統大小可變,但是重新引導數據丟失。
JFFS2是RedHat基于JFFS開(kāi)發(fā)的閃存文件系統,是一種可讀、可壓縮的日志型文件系統,提供崩潰/掉電安全保護,使用了基于哈希表的日志節點(diǎn)結構,加快了對節點(diǎn)操作速度,支持數據壓縮,提供“寫(xiě)平衡”支持,是目前最流行的文件系統。缺點(diǎn)是由于碎片收集的問(wèn)題使得文件系統已滿(mǎn)或者接近已滿(mǎn)時(shí),JFFS2運行變慢。
Yaffs是一種和jffs2類(lèi)似的閃存文件系統,專(zhuān)為嵌入式系統使用Nand型閃存而設計的一種日志文件系統。比jffs2少了一個(gè)功能,因此速度更快,對內存要求比較小。自帶Nand芯片驅動(dòng),提供了直接訪(fǎng)問(wèn)文件系統的API。用戶(hù)可以直接對文件系統操作。
嵌入式文件系統相關(guān)文章推薦閱讀:
評論