女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>JFFS2文件系統(tǒng)及新特性簡析

JFFS2文件系統(tǒng)及新特性簡析

2017-11-02 | rar | 0.5 MB | 次下載 | 1積分

資料介紹

JFFS2 是一個(gè)開放源碼的項(xiàng)目(www.infradead.org)。 它是在閃存上使用非常廣泛的讀/寫文件系統(tǒng),在嵌入式系統(tǒng)中被普遍的應(yīng)用。這篇文章首先分析了在閃存上使用 JFFS2 的必要性,然后詳細(xì)的闡述了 JFFS2 實(shí)現(xiàn)的內(nèi)部機(jī)制,包括日志結(jié)構(gòu)的文件系統(tǒng),關(guān)鍵的數(shù)據(jù)結(jié)構(gòu),掛載過程和垃圾收集機(jī)制。同時(shí)也指出了 JFFS2 的局限性,并介紹了最新的針對(duì) JFFS2 的不足進(jìn)行改進(jìn)的補(bǔ)丁程序。最后對(duì) JFFS3 的設(shè)計(jì)思想和現(xiàn)在的開發(fā)狀況給予了簡單的介紹。
  1. 為什么需要 JFFS2
  這一小節(jié)首先介紹了閃存相對(duì)于磁盤介質(zhì)的特別之處,然后分析了將磁盤文件系統(tǒng)運(yùn)行在閃存上的不足,同時(shí)也給出了我們使用 JFFS2 的理由。
  1.1 閃存(Flash Memory) 的特性和限制
  這里所介紹的閃存的特性和限制都是從上層的文件系統(tǒng)的角度來看的,而不會(huì)涉及到具體的物理特性。總的來說,有兩種類型的 flash memory: NOR flash 和 NAND flash. 先介紹一下這兩種閃存所具有的共同特性。
  A) 閃存的最小尋址單位是字節(jié)(byte),而不是磁盤上的扇區(qū)(sector)。這意味著我們可以從一塊閃存的任意偏移(offset)讀數(shù)據(jù),但并不表明對(duì)閃存寫操作也是以字節(jié)為單位進(jìn)行的。我們會(huì)在下面的闡述中找到答案。
  B) 當(dāng)一塊閃存處在干凈的狀態(tài)時(shí)(被擦寫過,但是還沒有寫操作發(fā)生),在這塊flash上的每一位(bit)都是邏輯1。
  C) 閃存上的每一位(bit)可以被寫操作置成邏輯0。 可是把邏輯 0 置成邏輯 1 卻不能按位(bit)來操作,而只能按擦寫塊(erase block)為單位進(jìn)行擦寫操作。擦寫塊的大小從 4K 到128K 不等。從上層來看,擦寫所完成的功能就是把擦寫塊內(nèi)的每一位都重設(shè)置(reset)成邏輯 1。
  D) 閃存的使用壽命是有限的。具體來說,閃存的使用壽命是由擦寫塊的最大可擦寫次數(shù)來決定的。超過了最大可擦寫次數(shù),這個(gè)擦寫塊就成為壞塊(bad block)了。因此為了避免某個(gè)擦寫塊被過度擦寫,以至于它先于其他的擦寫塊達(dá)到最大可擦寫次數(shù),我們應(yīng)該在盡量小的影響性能的前提下,使擦寫操作均勻的分布在每個(gè)擦寫塊上。這個(gè)過程叫做磨損平衡(wear leveling)。
  NOR flash 與 NAND flash 的不同之處:
  A) NOR flash 讀/寫操作的基本單位是字節(jié);而 NAND flash 又把擦寫塊分成頁(page), 頁是寫操作的基本單位,一般一個(gè)頁的大小是 512 或 2K 個(gè)字節(jié)。對(duì)于一個(gè)頁的重復(fù)寫操作次數(shù)是有限制的,不同廠商生產(chǎn)的 NAND flash 有不同的限制,有些是一次,有些是四次,六次或十次。
  B) 按照現(xiàn)在的技術(shù)水平,一般來說NOR flash擦寫塊的最大可擦寫次數(shù)在十萬次左右,NAND flash擦寫塊的最大可擦寫次數(shù)在百萬次左右。
  1.2 閃存轉(zhuǎn)換層
  將磁盤文件系統(tǒng)(ext2, FAT)運(yùn)行在閃存上的很自然的方法就是在文件系統(tǒng)和閃存之間提供一個(gè)閃存轉(zhuǎn)換層(Flash Translation Layer), 它的功能就是將底層的閃存模擬成一個(gè)具有 512字節(jié)扇區(qū)大小的標(biāo)準(zhǔn)塊設(shè)備(block device)。對(duì)于文件系統(tǒng)來說,就像工作在一個(gè)普通的塊設(shè)備上一樣,沒有任何的差別。
  圖一
  JFFS2文件系統(tǒng)及新特性簡析
  一個(gè)閃存轉(zhuǎn)換層的最簡單的實(shí)現(xiàn)就是將模擬的塊設(shè)備一對(duì)一的映射到閃存上。舉例來說,當(dāng)上層的文件系統(tǒng)要寫一個(gè)塊設(shè)備的扇區(qū)時(shí),閃存轉(zhuǎn)換層要做下面的操作來完成這個(gè)寫請(qǐng)求:
  1 將這個(gè)扇區(qū)所在擦寫塊地?cái)?shù)據(jù)讀到內(nèi)存中,放在緩存(buffer)中
  2 將緩存中與這個(gè)扇區(qū)對(duì)應(yīng)的內(nèi)容用新的內(nèi)容替換掉
  3 對(duì)該擦寫塊執(zhí)行擦寫操作
  4 將緩沖中的數(shù)據(jù)寫回該擦寫塊
  這種實(shí)現(xiàn)方式的缺點(diǎn)是很明顯的:
  1 效率低,對(duì)一個(gè)扇區(qū)的更新要重寫整個(gè)擦寫塊上的數(shù)據(jù),造成數(shù)據(jù)帶寬很大的浪費(fèi)。
  2 沒有提供磨損平衡,那些被頻繁更新的數(shù)據(jù)所在擦寫塊將首先變成壞塊。
  3 非常不安全,很容易引起數(shù)據(jù)的丟失。如果在上面的第三步和第四步之間發(fā)生了突然掉電(power loss),那么整個(gè)擦寫塊中的數(shù)據(jù)就全部丟失了。這在突然掉電經(jīng)常發(fā)生的嵌入式系統(tǒng)中是不能接受的。
  MTD 中的內(nèi)核模塊 mtdblock 就是基于這種機(jī)制實(shí)現(xiàn)的,同時(shí)還作了一些優(yōu)化。只有當(dāng)文件系統(tǒng)的寫請(qǐng)求超過了一個(gè)擦寫塊的邊界的時(shí)候,它才會(huì)執(zhí)行對(duì)閃存的擦寫,寫回操作。
  因此,為了解決上面這種實(shí)現(xiàn)方式的問題,閃存轉(zhuǎn)換層需要做更多的事情。閃存轉(zhuǎn)換層不能只實(shí)現(xiàn)這種一對(duì)一的映射,而需要將模擬塊設(shè)備的扇區(qū)存儲(chǔ)在閃存的不同位置,并且維持扇區(qū)到閃存的映射關(guān)系。更進(jìn)一步,閃存轉(zhuǎn)換層還必須能理解上層文件系統(tǒng)的語義,否則閃存轉(zhuǎn)換層沒辦法做垃圾回收(Garbage Collection)。這樣實(shí)現(xiàn)最大的問題就是效率不高,具體來說,閃存轉(zhuǎn)換層為了能理解上層文件系統(tǒng)的語義,必須對(duì)文件系統(tǒng)的每個(gè)寫請(qǐng)求進(jìn)行解析,這勢必帶來寫操作性能的下降。另外要求文件系統(tǒng)下面的一層去理解文件系統(tǒng)的語義,很顯然這不是最好的解決方式。我們還有很好的解決問題的方法,就是實(shí)現(xiàn)一個(gè)特別針對(duì)閃存的文件系統(tǒng)。而 JFFS2 就是一個(gè)這樣的文件系統(tǒng)。
  2. JFFS2
  有 JFFS2 就要有 JFFS v1,沒錯(cuò),JFFS v1 最初是由瑞典的 Axis Communications AB 公司開發(fā)的,使用在他們的嵌入式設(shè)備中,并且在 1999 年末基于 GNU GPL 發(fā)布出來。最初的發(fā)布版本基于 Linux 內(nèi)核 2.0,后來 RedHat 將它移植到 Linux 內(nèi)核 2.2,做了大量的測試和 bug fix 的工作使它穩(wěn)定下來,并且對(duì)簽約客戶提供商業(yè)支持。但是在使用的過程中,JFFS v1 設(shè)計(jì)中的局限被不斷的暴露出來。于是在 2001 年初的時(shí)候,RedHat 決定實(shí)現(xiàn)一個(gè)新的閃存文件系統(tǒng),這就是現(xiàn)在的 JFFS2。下面將詳細(xì)介紹 JFFS2 設(shè)計(jì)中主要的思想,關(guān)鍵的數(shù)據(jù)結(jié)構(gòu)和垃圾收集機(jī)制。這將為我們實(shí)現(xiàn)一個(gè)閃存上的文件系統(tǒng)提供很好的啟示。首先,JFFS2 是一個(gè)日志結(jié)構(gòu)(log-structured)的文件系統(tǒng),包含數(shù)據(jù)和原數(shù)據(jù)(meta-data)的節(jié)點(diǎn)在閃存上順序的存儲(chǔ)。JFFS2 之所以選擇日志結(jié)構(gòu)的存儲(chǔ)方式,是因?yàn)閷?duì)閃存的更新應(yīng)該是 out-of-place 的更新方式,而不是對(duì)磁盤的 in-place 的更新方式。在閃存上 in-place 更新方式的問題我們已經(jīng)在閃存轉(zhuǎn)換層一節(jié)描述過了。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1TC358743XBG評(píng)估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開關(guān)電源基礎(chǔ)知識(shí)
  4. 5.73 MB  |  6次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計(jì)
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費(fèi)
  11. 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
  12. 0.70 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21548次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191185次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)
主站蜘蛛池模板: 电白县| 会同县| 百色市| 壶关县| 邛崃市| 阿拉善左旗| 丹寨县| 三江| 宜良县| 定陶县| 简阳市| 历史| 介休市| 东平县| 莱西市| 泸溪县| 屯昌县| 射洪县| 湄潭县| 乐业县| 沂水县| 株洲市| 胶南市| 丹东市| 论坛| 民丰县| 澄江县| 苍溪县| 吉安市| 宜川县| 淳化县| 华宁县| 太湖县| 西丰县| 晋宁县| 漳浦县| 洪洞县| 武山县| 五峰| 德格县| 黑龙江省|