新聞中心

        EEPW首頁 > 基礎知識 > 嵌入式文件系統(tǒng)

        嵌入式文件系統(tǒng)

        作者:李雪 時間:2015-12-02 來源:電子產(chǎn)品世界 收藏

          導讀:是什么?對有什么要求?目前常用的又有哪些呢?

        本文引用地址:http://www.104case.com/article/283736.htm

        一、嵌入式文件系統(tǒng)是什么

          嵌入式文件系指的是嵌入式系統(tǒng)所應用的文件系統(tǒng)。嵌入式文件系統(tǒng)與我們通常所用的文件系統(tǒng)有較大的區(qū)別:我們平時所用的文件系統(tǒng)大致都是相同的,但嵌入式文件系統(tǒng)要為嵌入式系統(tǒng)的設計目的服務,不同用途的嵌入式操作系統(tǒng)下的文件系統(tǒng)在許多方面各不相同。目前大多數(shù)嵌入式系統(tǒng)采用的都是Linux,而嵌入式Linux常用的文件系統(tǒng)有Ext2fs第二版擴展文件系統(tǒng)、JFFS文件系統(tǒng)、YAFFS文件系統(tǒng)等。

         

        二、對嵌入式文件系統(tǒng)的要求

          1、由于嵌入式文件系統(tǒng)的載體是以Flash為主的存儲介質(zhì),F(xiàn)lash的擦除次數(shù)是有限的,所以為了延長Flash的使用壽命,應該盡量減少對Flash的寫入操作,盡量使對Flash的寫入操作均勻分布在整個Flash上;

          2、由于各種存儲器在分配使用一段時間后,會出現(xiàn)空缺和碎片數(shù)據(jù),這就需要進行垃圾回收以保證存儲器空間高效使用。Flash存儲器以扇區(qū)為單位,垃圾回收也應該以扇區(qū)為單位,嵌入式Flash文件系統(tǒng)回收要先移動扇區(qū)數(shù)據(jù),再擦除整個扇區(qū);

          3、要求文件系統(tǒng)在頻繁的文件操作(例如:新建、刪除、截斷等)下能夠保持較高的讀寫性能,要求低碎片化;

          4、要求掉電安全,無數(shù)據(jù)的丟失現(xiàn)象。

        三、各嵌入式文件系統(tǒng)比較

          Ramfs是Linus Torvalds開發(fā)的,Ramfs把所用文件都放在RAM里運行,通常存放一些臨時或經(jīng)常要修改的數(shù)據(jù)。不像ramdisk的固定大小,Ramfs的大小可調(diào)。

          Tmpfs是基于內(nèi)存的文件系統(tǒng),由于它駐留在RAM中,所以讀寫都在RAM中,因此讀寫瞬間完成。文件系統(tǒng)大小可變,但是重新引導數(shù)據(jù)丟失。

          JFFS2是RedHat基于JFFS開發(fā)的閃存文件系統(tǒng),是一種可讀、可壓縮的日志型文件系統(tǒng),提供崩潰/掉電安全保護,使用了基于哈希表的日志節(jié)點結構,加快了對節(jié)點操作速度,支持數(shù)據(jù)壓縮,提供“寫平衡”支持,是目前最流行的文件系統(tǒng)。缺點是由于碎片收集的問題使得文件系統(tǒng)已滿或者接近已滿時,JFFS2運行變慢。

          Yaffs是一種和jffs2類似的閃存文件系統(tǒng),專為嵌入式系統(tǒng)使用Nand型閃存而設計的一種日志文件系統(tǒng)。比jffs2少了一個功能,因此速度更快,對內(nèi)存要求比較小。自帶Nand芯片驅動,提供了直接訪問文件系統(tǒng)的API。用戶可以直接對文件系統(tǒng)操作。

          嵌入式文件系統(tǒng)相關文章推薦閱讀:

          1、嵌入式根文件系統(tǒng)的移植和制作詳解

          2、如何選擇嵌入式操作系統(tǒng)

          3、如何學STM32- -十年經(jīng)驗教你如何學習嵌入式系統(tǒng)

          4、基于ARM的嵌入式操作系統(tǒng)概述



        評論


        技術專區(qū)

        關閉
        主站蜘蛛池模板: 莆田市| 雅江县| 长顺县| 南京市| 特克斯县| 黑水县| 星座| 达拉特旗| 颍上县| 台南市| 平湖市| 陇南市| 绍兴市| 阿尔山市| 启东市| 通州市| 大石桥市| 涞源县| 葵青区| 德江县| 纳雍县| 西峡县| 西华县| 乌拉特后旗| 安远县| 苏尼特右旗| 油尖旺区| 苍溪县| 明水县| 灵台县| 灵璧县| 营山县| 辽中县| 华安县| 布拖县| 静宁县| 称多县| 临泽县| 屏东县| 大同市| 淮北市|