亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么是Linux MTD設備文件系統

發布時間:2021-10-22 09:37:45 來源:億速云 閱讀:257 作者:柒染 欄目:互聯網科技

這篇文章給大家介紹什么是Linux MTD設備文件系統,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

1. 文件系統簡介

文件系統是一種存儲和組織計算機數據的方法,它使得對其訪問和查找變得容易,文件系統使用文件和樹形目錄的抽象邏輯概念代替了硬盤和光盤等物理設備使用數據塊的概念,用戶使用文件系統來保存數據不必關心數據實際保存在硬盤(或者光盤)的地址為多少的數據塊上,只需要記住這個文件的所屬目錄和文件名。在寫入新數據之前,用戶不必關心硬盤上的那個塊地址沒有被使用,硬盤上的存儲空間管理(分配和釋放)功能由文件系統自動完成,用戶只需要記住數據被寫入到了哪個文件中。

文件系統通常使用硬盤和光盤這樣的存儲設備,并維護文件在設備中的物理位置。但是,實際上文件系統也可能僅僅是一種訪問數據的界面而已,實際的數據是通過網絡協議(如NFS、SMB、9P等)提供的或者內存上,甚至可能根本沒有對應的文件(如proc文件系統)。

嚴格地說,文件系統是一套實現了數據的存儲、分級組織、訪問和獲取等操作的抽象數據類型(Abstract data type)。

2. 存儲設備和文件系統的關系

在嵌入式系統中,與文件系統相關的存儲設備包括硬盤、Flash存儲器等。Flash存儲器又分為Flash芯片設備(Raw Flash device,也叫MTD設備)和帶Flash控制器的設備(Flash Translation Layer device, FTL設備),兩者的關鍵區別是是否帶有Flash控制器,這也直接決定了文件系統分為不同的兩類。

其中MTD設備包括NOR Flash、NAND Flash等,FTL設備包括SD、eMMC、SSD、USB大容量存儲設備等。JFFS2、YAFFS2、UBIF、LogFS支持MTD設備,FAT、EXT3/4、XFS和Btrfs支持 FTL設備和硬盤(HDD)。MTD設備對應的設備文件為/dev/mtd,FTL設備對應的設備文件可為/dev/mtdblock。


3. MTD設備文件系統

3.1.1   JFFS2

JFFS意為“Journaling Flash File System”,該文件系統是瑞典Axis通信公司開發的一種基于Flash存儲器的日志文件系統。該公司于1999年在GNU/Linux上發行了第一版JFFS文件系統,后來經過Redhat公司的發展,發行了第二個版本的JFFS2。JFFS2 是一個日志結構(log-structured)的文件系統,將文件系統的數據和原數據以節點的形式存儲在閃存上。主要用于NOR型閃存,基于MTD驅動層,特點是:可讀寫的、支持數據壓縮的、基于哈希表的日志型文件系統,并提供了崩潰/掉電安全保護,提供“寫平衡”支持等。缺點主要是當文件系統已滿或接近滿時,因為垃圾收集的關系而使JFFS2的運行速度大大放慢。

JFFS2的缺點包括:掛載時間過長;對芯片存儲塊讀寫不均衡;擴展性較差等。JFFS2不適合用于NAND閃存主要是因為NAND閃存的容量一般較大,這樣導致JFFS2為維護日志節點所占用的內存空間迅速增大,另外,JFFS2文件系統在掛載時需要掃描整個FLASH的內容,以找出所有的日志節點,建立文件結構,對于大容量的NAND閃存會耗費大量時間。

3.1.2   YAFFS2

YAFFS/YAFFS2是專為嵌入式系統使用NAND型閃存而設計的一種日志型文件系統。與JFFS2相比,它減少了一些功能(例如不支持數據壓縮),所以速度更快,掛載時間很短,對內存的占用較小。另外,它還是跨平臺的文件系統。

    YAFFS/YAFFS2自帶NAND芯片的驅動,并且為嵌入式系統提供了直接訪問文件系統的API,用戶可以不使用Linux中的MTD與VFS,直接對文件系統操作。當然,YAFFS也可與MTD驅動程序配合使用。這方便了其跨平臺移植。

YAFFS與YAFFS2的主要區別在于,前者僅支持小頁(512 Bytes)NAND閃存,后者則可支持大頁(2KB) NAND閃存。同時,YAFFS2在內存空間占用、垃圾回收速度、讀/寫速度等方面均有大幅提升。

3.1.3   UBIFS

UBIFS(Unsorted Block Image File System)最早在2006年由IBM與Nokia的工程師Thomas Gleixner,Artem Bityutskiy所設計,專門為了解決MTD(Memory Technology Device)設備所遇到的瓶頸。由于NAND Flash容量的暴漲,YAFFS等皆無法再去控制NAND Flash的空間。UBIFS通過子系統UBI處理與MTD device之間的動作。與JFFS2一樣,UBIFS 建構于MTD device 之上,因而與一般的block device不兼容。

UBIFS在設計與性能上均較YAFFS2、JFFS2更適合NAND Flash,例如:UBIFS 支持 write-back, 其寫入的數據會被cache, 直到有必要寫入時才寫到Flash,大地降低分散小區塊數量并提高I/O效率。UBIFS文件系統目錄存儲在Flash上,UBIFS mount時不需要scan整個Flash的數據來重新創建文件目錄。支持on-the-flight壓縮文件數據,而且可選擇性壓縮部份文件。另外UBIFS使用日志(journal),可減少對Flash index的更新頻率。

3.1.4   總結

當前主流的選擇是UBIFS和YAFFS2,如果是非Linux系統可以選用移植性較好的YAFFS2。

關于什么是Linux MTD設備文件系統就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

堆龙德庆县| 开远市| 桂阳县| 满洲里市| 上饶市| 洪江市| 徐州市| 郑州市| 荆门市| 鄂尔多斯市| 克什克腾旗| 通渭县| 天门市| 厦门市| 泽库县| 南安市| 邻水| 台南县| 江源县| 家居| 阿鲁科尔沁旗| SHOW| 伊金霍洛旗| 襄城县| 遂溪县| 招远市| 措美县| 肥乡县| 庄河市| 屯门区| 玉树县| 兴宁市| 东海县| 应用必备| 从江县| 城口县| 霍山县| 新营市| 廉江市| 阿拉善盟| 青神县|