国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

嵌入式Linux文件系統(tǒng)及其存儲機(jī)制分析

運(yùn)維 系統(tǒng)運(yùn)維
嵌入式系統(tǒng)與通用PC機(jī)不同,一般沒有硬盤這樣的存儲設(shè)備而是使用Flash閃存芯片、小型閃存卡等專為嵌入式系統(tǒng)設(shè)計(jì)的存儲裝置,本文分析了嵌入式系統(tǒng)中常用的存儲設(shè)備及其管理機(jī)制,介紹了常用的基于FLASH的文件系統(tǒng)類型。

嵌入式系統(tǒng)與通用PC機(jī)不同,一般沒有硬盤這樣的存儲設(shè)備而是使用Flash閃存芯片、小型閃存卡等專為嵌入式系統(tǒng)設(shè)計(jì)的存儲裝置,本文分析了嵌入式系統(tǒng)中常用的存儲設(shè)備及其管理機(jī)制,介紹了常用的基于FLASH的文件系統(tǒng)類型。

1.嵌入式系統(tǒng)存儲設(shè)備及其管理機(jī)制分析

構(gòu)建適用于嵌入式系統(tǒng)的Linux文件系統(tǒng),必然會涉及到兩個(gè)關(guān)鍵點(diǎn),一是文件系統(tǒng)類型的選擇,它關(guān)系到文件系統(tǒng)的讀寫性能、尺寸大小;另一個(gè)就是根文件系統(tǒng)內(nèi)容的選擇,它關(guān)系到根文件系統(tǒng)所能提供的功能及尺寸大小。

嵌入式設(shè)備中使用的存儲器是像Flash閃存芯片、小型閃存卡等專為嵌入式系統(tǒng)設(shè)計(jì)的存儲裝置。Flash是目前嵌入式系統(tǒng)中廣泛采用的主流存儲器,它的主要特點(diǎn)是按整體/扇區(qū)擦除和按字節(jié)編程,具有低功耗、高密度、小體積等優(yōu)點(diǎn)。目前,F(xiàn)lash分為NOR, NAND兩種類型。

NOR型閃存可以直接讀取芯片內(nèi)儲存的數(shù)據(jù),因而速度比較快,但是價(jià)格較高。NOR型芯片,地址線與數(shù)據(jù)線分開,所以NOR型芯片可以像SRAM一樣連在數(shù)據(jù)線上,對NOR芯片可以“字”為基本單位操作,因此傳輸效率很高,應(yīng)用程序可以直接在Flash內(nèi)運(yùn)行,不必再把代碼讀到系統(tǒng)RAM中運(yùn)行。它與SRAM的最大不同在于寫操作需要經(jīng)過擦除和寫入兩個(gè)過程。

NAND型閃存芯片共用地址線與數(shù)據(jù)線,內(nèi)部數(shù)據(jù)以塊為單位進(jìn)行存儲,直接將NAND芯片做啟動芯片比較難。NAND閃存是連續(xù)存儲介質(zhì),適合放大文件。擦除NOR器件時(shí)是以64-128KB的塊進(jìn)行的,執(zhí)行一個(gè)寫入/擦除操作的時(shí)間為5s;擦除NAND器件是以8-32KB的塊進(jìn)行的,執(zhí)行相同的操作最多只需要4ms。

NAND Rash的單元尺寸幾乎是NOR器件的一半,由于生產(chǎn)過程更為簡單,NAND結(jié)構(gòu)可以在給定的模具尺寸內(nèi)提供更高的容量,也就相應(yīng)地降低了價(jià)格。NOR flash占據(jù)了容量為1―16MB閃存市場的大部分,而NAND flash只是用在8―128MB的產(chǎn)品當(dāng)中,這也說明NOR主要應(yīng)用在代碼存儲介質(zhì)中,NAND適合于數(shù)據(jù)存儲。

壽命(耐用性),在NAND閃存中每個(gè)塊的最大擦寫次數(shù)是一百萬次,而NOR的擦寫次數(shù)是十萬次。NAND存儲器除了具有10比1的塊擦除周期優(yōu)勢,典型的NAND塊尺寸要比NOR器件小8倍,每個(gè)NAND存儲器塊在給定的時(shí)間內(nèi)的刪除次數(shù)要少一些。

所有嵌入式系統(tǒng)的啟動都至少需要使用某種形式的永久性存儲設(shè)備,它們需要合適的驅(qū)動程序,當(dāng)前在嵌入式Linux中有三種常用的塊驅(qū)動程序可以選擇。

● Blkmem驅(qū)動層

Blkmem驅(qū)動是為uclinux專門設(shè)計(jì)的,也是最早的一種塊驅(qū)動程序之一,現(xiàn)在仍然有很多嵌入式Linux操作系統(tǒng)選用它作為塊驅(qū)動程,尤其是在uClinux中。它相對來說是最簡單的,而且只支持建立在NOR型Flash和RAM中的根文件系統(tǒng)。使用Blkmem驅(qū)動,建立Flash分區(qū)配置比較困難,這種驅(qū)動程序?yàn)镕lash提供了一些基本擦除/寫操作。

● RAMdisk驅(qū)動層

RAMdisk驅(qū)動層通常應(yīng)用在標(biāo)準(zhǔn)Linux中無盤工作站的啟動,對Flash存儲器并不提供任何的直接支持, RAM disk就是在開機(jī)時(shí),把一部分的內(nèi)存虛擬成塊設(shè)備,并且把之前所準(zhǔn)備好的檔案系統(tǒng)映像解壓縮到該RAM disk環(huán)境中。當(dāng)在Flash中放置一個(gè)壓縮的文件系統(tǒng),可以將文件系統(tǒng)解壓到RAM,使用RAM disk驅(qū)動層支持一個(gè)保持在RAM中的文件系統(tǒng)。

● MTD驅(qū)動層

為了盡可能避免針對不同的技術(shù)使用不同的工具,以及為不同的的技術(shù)提供共同的能力,Linux內(nèi)核納入了MTD子系統(tǒng)(memory Technology Device)。它提供了一致且統(tǒng)一的接口,讓底層的MTD芯片驅(qū)動程序無縫地與較高層接口組合在一起。

JFFS2, Cramfs, YAFFS等文件系統(tǒng)都可以被安裝成MTD塊設(shè)備。MTD驅(qū)動也可以為那些支持CFI接口的NOR型Flash提供支持。雖然MTD可以建立在RAM上,但它是專為基于Flash的設(shè)備而設(shè)計(jì)的。MTD包含特定Flash芯片的驅(qū)動程序,開發(fā)者要選擇適合自己系統(tǒng)的Flash芯片驅(qū)動。Flash芯片驅(qū)動向上層提供讀、寫、擦除等基本的操作,MTD對這些操作進(jìn)行封裝后向用戶層提供MTD char和MTD block類型的設(shè)備。

#p#

MTD char類型的設(shè)備包括/dev/mtd0, /dev/mtdl等,它們提供對Flash原始字符的訪問。MTD block類型的設(shè)備包括/dev/mtdblock0,/dev/mtdblock1等,MTD block設(shè)備是將Flash模擬成塊設(shè)備,這樣可以在這些模擬的塊設(shè)備上創(chuàng)建像Cramfs, JFFS2等格式的文件系統(tǒng)。

MTD驅(qū)動層也支持在一塊Flash上建立多個(gè)Flash分區(qū),每一個(gè)分區(qū)作為了一個(gè)MTD block設(shè)備,可以把系統(tǒng)軟件和數(shù)據(jù)等分配到不同的分區(qū)上,同時(shí)可以在不同的分區(qū)采用不用的文件系統(tǒng)格式。這一點(diǎn)非常重要,正是由于這一點(diǎn)才為嵌入式系統(tǒng)多文件系統(tǒng)的建立提供了靈活性。

2. 基于Flash的文件系統(tǒng)

鑒于Flash存儲介質(zhì)的讀寫特點(diǎn),傳統(tǒng)的Linux文件系統(tǒng)己經(jīng)不適合應(yīng)用在嵌入式系統(tǒng)中,像Ext2fs文件系統(tǒng)是為像IDE那樣的塊設(shè)備設(shè)計(jì)的,這些設(shè)備的邏輯塊是512字節(jié)、1024字節(jié)等大小,沒有提供很好的扇區(qū)擦寫支持,不支持損耗平衡,沒有掉電保護(hù),也沒有特別完美的扇區(qū)管理,這不太適合于扇區(qū)大小因設(shè)備類型而劃分的閃存設(shè)備。基于這樣的原因,產(chǎn)生了很多專為Flash設(shè)備而設(shè)計(jì)的文件系統(tǒng),常見的專用于閃存設(shè)備的文件系統(tǒng)如下:

● Romfs

傳統(tǒng)型的Romfs文件系統(tǒng)是最常使用的一種文件系統(tǒng),它是一種簡單的、緊湊的、只讀的文件系統(tǒng),不支持動態(tài)擦寫保存;它按順序存放所有的文件數(shù)據(jù),所以這種文件系統(tǒng)格式支持應(yīng)用程序以XIP方式運(yùn)行,在系統(tǒng)運(yùn)行時(shí),可以獲得可觀的RAM節(jié)省空間。uClinux系統(tǒng)通常采用Romfs文件系統(tǒng)。

● Cramfs

Cramfs是Linux的創(chuàng)始人Linus Torvalds開發(fā)的一種可壓縮只讀文件系統(tǒng)在Cramfs文件系統(tǒng)中,每一頁被單獨(dú)壓縮,可以隨機(jī)頁訪問,其壓縮比高達(dá)2:1,為嵌入式系統(tǒng)節(jié)省大量的Flash存儲空間。Cramfs文件系統(tǒng)以壓縮方式存儲,在運(yùn)行時(shí)解壓縮,所以不支持應(yīng)用程序以XIP方式運(yùn)行,所有的應(yīng)用程序要求被拷到RAM里去運(yùn)行,但這并不代表比Ramfs需求的RAM 空間要大一點(diǎn),因?yàn)镃ramfs是采用分頁壓縮的方式存放檔案,在讀取檔案時(shí),不會一下子就耗用過多的內(nèi)存空間,只針對目前實(shí)際讀取的部分分配內(nèi)存,尚沒有讀取的部分不分配內(nèi)存空間,當(dāng)我們讀取的檔案不在內(nèi)存時(shí), Cramfs文件系統(tǒng)自動計(jì)算壓縮后的資料所存的位置,再即時(shí)解壓縮到RAM中。

另外,它的速度快,效率高,其只讀的特點(diǎn)有利于保護(hù)文件系統(tǒng)免受破壞,提高了系統(tǒng)的可靠性;但是它的只讀屬性同時(shí)又是它的一大缺陷,使得用戶無法對其內(nèi)容對進(jìn)擴(kuò)充。Cramfs映像通常是放在Flash中,但是也能放在別的文件系統(tǒng)里,使用loopback設(shè)備可以把它安裝別的文件系統(tǒng)里。使用mkcramfs工具可以創(chuàng)建Cramfs映像。

● Ramfs/Tmpfs

Ramfs也是Linus Torvalds開發(fā)的,Ramfs文件系統(tǒng)把所有的文件都放在RAM里運(yùn)行,通常是Flash系統(tǒng)用來存儲一些臨時(shí)性或經(jīng)常要修改的數(shù)據(jù),相對于ramdisk來說,Ramfs的大小可以隨著所含文件內(nèi)容大小變化,不像ramdisk的大小是固定的。Tmpfs是基于內(nèi)存的文件系統(tǒng),因?yàn)閠mpfs駐留在RAM 中,所以寫/讀操作發(fā)生在RAM 中。tmpfs文件系統(tǒng)大小可隨所含文件內(nèi)容大小變化,使得能夠最理想地使用內(nèi)存;tmpfs駐留在RAM,所以讀和寫幾乎都是瞬時(shí)的。tmpfs的一個(gè)缺點(diǎn)是當(dāng)系統(tǒng)重新引導(dǎo)時(shí)會丟失所有數(shù)據(jù)。

● JFFS2

JFFS2是RedHat公司基于JFFS開發(fā)的閃存文件系統(tǒng),最初是針對RedHat公司的嵌入式產(chǎn)品eCos開發(fā)的嵌入式文件系統(tǒng),所以JFFS2也可以用在Linux,uCLinux中。JFFS文件系統(tǒng)最早是由瑞典Axis Communications公司基于Linux2.0的內(nèi)核為嵌入式系統(tǒng)開發(fā)的文件系統(tǒng)。JFFS2是一個(gè)可讀寫的、壓縮的、日志型文件系統(tǒng),并提供了崩潰/掉電安全保護(hù),克服了JFFS的一些缺點(diǎn):使用了基于哈希表的日志節(jié)點(diǎn)結(jié)構(gòu),大大加快了對節(jié)點(diǎn)的操作速度;支持?jǐn)?shù)據(jù)壓縮;提供了“寫平衡”支持;支持多種節(jié)點(diǎn)類型;提高了對閃存的利用率,降低了內(nèi)存的消耗。這些特點(diǎn)使JFFS2文件系統(tǒng)成為目前Flash設(shè)備上最流行的文件系統(tǒng)格式,它的缺點(diǎn)就是當(dāng)文件系統(tǒng)已滿或接近滿時(shí),JFFS2運(yùn)行會變慢,這主要是因?yàn)樗槠占膯栴}。

● YAFFS

YAFFS/YAFFS2是一種和JFFSx類似的閃存文件系統(tǒng),它是專為嵌入式系統(tǒng)使用NAND型閃存而設(shè)計(jì)的一種日志型文件系統(tǒng)。和JFFS2相比它減少了一些功能,所以速度更快,而且對內(nèi)存的占用比較小。此外,YAFFS自帶NAND芯片的驅(qū)動,并且為嵌入式系統(tǒng)提供了直接訪問文件系統(tǒng)的API,用戶可以不使用Linux中的MTD與VFS,直接對文件系統(tǒng)操作。YAFFS2支持大頁面的NAND設(shè)備,并且對大頁面的NAND設(shè)備做了優(yōu)化。JFFS2在NAND閃存上表現(xiàn)并不穩(wěn)定,更適合于NOR閃存,所以相對大容量的NAND閃存,YAFFS是更好的選擇。

在具體的嵌入式系統(tǒng)設(shè)計(jì)中可根據(jù)不同目錄存放的內(nèi)容不同以及存放的文件屬性,確定使用何種文件系統(tǒng)。

【編輯推薦】

  1. Linux系統(tǒng)下配置Netware服務(wù)器方法
  2. 嵌入式設(shè)備上的 Linux 系統(tǒng)開發(fā)
  3. 深度介紹Linux內(nèi)核是如何工作的(1)
責(zé)任編輯:張燕妮 來源: zol.com
相關(guān)推薦

2010-01-21 09:15:05

Linux嵌入式文件系

2010-06-29 09:55:41

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

2022-01-03 23:33:40

Linux組件系統(tǒng)

2021-12-19 22:34:45

Linux容器系統(tǒng)

2022-11-24 11:15:49

IoTLinux設(shè)備樹機(jī)制

2011-01-14 13:13:23

嵌入式Linux開發(fā)

2009-04-11 15:22:24

Linux 2.6內(nèi)核應(yīng)用

2020-06-15 07:00:00

Linux嵌入式系統(tǒng)

2011-01-06 15:11:09

嵌入式linux

2017-12-21 10:43:44

Linux嵌入式終端

2020-07-03 07:00:00

Linux組件

2011-04-25 10:25:43

OpenEmbedde嵌入式Linux

2009-12-17 10:33:05

嵌入式Linux

2009-12-16 15:41:40

嵌入式Linux入門

2012-07-30 14:13:11

Linux 2.6內(nèi)核嵌入式

2009-06-26 16:05:04

嵌入式Linux

2011-03-17 17:36:01

iptables嵌入式Linux

2009-12-09 10:12:28

嵌入式Linux

2021-04-13 08:06:17

分布式HDFS存儲大型數(shù)據(jù)

2023-04-27 07:06:18

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

不卡的av电影| 久久久精品久久| 中国丰满人妻videoshd| 国产视频亚洲| 国产一区二区丝袜| 少妇精品导航| 日韩有码在线播放| 在线一区视频观看| 亚洲无限av看| 全球最大av网站久久| 亚洲人成网站777色婷婷| 麻豆系列在线观看| 日本高清成人免费播放| 日本在线三级| 五月开心婷婷久久| 青青草免费观看免费视频在线| 一区二区三区影院| 五十度飞在线播放| 亚洲在线观看免费视频| 97在线观看免费高清视频| 亚洲精品国产无天堂网2021 | www.色在线| 精品久久久久久亚洲综合网 | 国产第一亚洲| 久久久精品影院| 色妞ww精品视频7777| 九九热视频这里只有精品| 996久久国产精品线观看| 欧美国产日韩在线| 免费电影一区二区三区| 国产精品久久久久77777| 日韩精品水蜜桃| 亚洲国产国产| 国外成人免费在线播放| 久久365资源| 国产精品99一区| 色一区二区三区四区| 91久久国产精品91久久性色| 黄色成人在线网址| 神马影院我不卡| 国产福利一区二区| 久久人妻精品白浆国产| 亚洲欧洲精品天堂一级| 亚洲人成小说| 欧美精品第一页| 超碰91在线观看| 中文字幕一区二区精品| 91精品国产自产精品男人的天堂| 日韩免费黄色av| 伊人久久亚洲美女图片| 成人手机视频在线| 中文字幕av免费专区久久| 中文天堂在线观看| 精品电影一区二区三区| 欧美不卡在线观看| 成人高h视频在线| 日日噜噜夜夜狠狠视频欧美人 | 中文字幕视频在线免费欧美日韩综合在线看| a一区二区三区亚洲| 国产精品久久久久免费a∨大胸| 影音先锋久久精品| 中文字幕无码精品亚洲资源网久久| 综合自拍亚洲综合图不卡区| 亚乱亚乱亚洲乱妇| 久久久999国产| 亚洲精品a级片| 亚洲 欧美 综合 另类 中字| 欧美亚洲成人精品| 亚洲高清在线一区| 性色av一区二区三区免费| 亚洲精品中文字幕| 欧美片在线播放| 虎白女粉嫩尤物福利视频| 久久一二三国产| 能在线观看av网站| 欧美丝袜自拍制服另类| 成人免费网站入口| 成人黄色av网站在线| 亚洲成年人专区| 中文字幕乱码亚洲无线精品一区| 日韩精品中文字幕久久臀| 啊灬啊灬啊灬啊灬高潮在线看| 国产成人8x视频一区二区| 国产99在线免费| av不卡在线观看| 户外极限露出调教在线视频| 91精品国产综合久久久久久久久 | 亚洲精品男人| 午夜老司机精品| 久久亚洲影视婷婷| 色乱码一区二区三在线看| 美美哒免费高清在线观看视频一区二区 | 亚洲精品自拍网| 国产精品成人免费在线| 国产精品无av码在线观看| 哺乳挤奶一区二区三区免费看| 欧美—级a级欧美特级ar全黄| av亚洲一区| 久久久免费在线观看| 男人的天堂亚洲一区| 曰韩少妇与小伙激情| 日韩高清av在线| 99在线精品视频在线观看| 日本亚洲天堂| 久久99热精品这里久久精品| 国产资源精品在线观看| www.在线视频.com| 国产欧美精品日韩| 国产喷白浆一区二区三区| 新版的欧美在线视频| 国产98在线|日韩| 性感美女久久精品| 卡通动漫国产精品| 日韩在线综合网| 日韩av中文字幕在线| 亚洲欧美清纯在线制服| 国产三级在线免费| 91精品在线观| 精品日韩美女的视频高清| 亚洲精品进入| 69免费视频| 欧美中在线观看| 18涩涩午夜精品.www| 成人中文字幕视频| 久久精品99国产| 久久久精品亚洲| 国产99久久久国产精品潘金网站| eeuss鲁一区二区三区| 亚洲精品tv久久久久久久久| 日韩一级黄色片| 免费看欧美女人艹b| 欧美人与禽性xxxxx杂性| 欧美人与性禽动交精品| 精品免费视频一区二区| 另类的小说在线视频另类成人小视频在线 | 精品国产鲁一鲁一区二区张丽| www.爱久久| 免费全黄无遮挡裸体毛片| 欧美中文字幕在线| 一区二区三区视频在线看| 亚洲欧美在线网| 午夜成在线www| 精品久久久网站| 美女网站色精品尤物极品姐弟| 久久久久国产一区| v片在线观看| 国产精品一区二区三区在线播放| 顶级嫩模精品视频在线看| 三级短视频在线| 69久久夜色精品国产69乱青草| 亚洲高清影视| 亚洲二区av| 国产情侣一区二区三区| 黄瓜视频免费观看在线观看www| 久久视频中文字幕| 国产偷亚洲偷欧美偷精品| 图片区小说区国产精品视频| 91久久大香伊蕉在人线| 日韩有码在线电影| 久久久精品影院| 国产精品亚洲视频在线观看| 国产精品麻豆免费版| 欧美老少做受xxxx高潮| 国产日韩一区二区三免费高清| 午夜免费精品视频| 久久精品视频一| 国产一区二区成人久久免费影院| 婷婷在线播放| 伊人久久av导航| 粉嫩av四季av绯色av第一区| 精品视频在线观看一区二区| 国产三级视频在线| 国产免费av国片精品草莓男男| 国色天香一区二区| 国产精品久久久久影视| 精品国产一区二区三区久久久蜜月| 久久精品久久精品亚洲人| 亚洲综合中文字幕在线| 欧美久久在线观看| 日韩在线观看www| 婷婷激情成人| 波多野结衣视频一区| 亚洲一区视频在线| 一区二区三欧美| 国产一区高清视频| 美女日批免费视频| 在线观看成人影院| 黄色av地址| 国产成人无码一二三区视频| 欧美日韩成人精品| 欧美日韩免费一区| 久久国产尿小便嘘嘘| 国产精品色在线网站| 第一福利在线| 男人亚洲天堂网| 精品不卡在线| 国内成人精品一区| 欧美成va人片在线观看| 国产精品久久久久久久久免费相片 | 九九九九久久久久|