




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第5章嵌入式文件系統5.1嵌入式文件系統1第5章嵌入式文件系統5.1嵌入式文件系統15.1文件系統簡介文件系統的定義文件系統是操作系統中組織、存儲和命名文件的結構,是操作系統中統一管理信息資源的一種方式,可以管理文件的存儲、檢索、更新,提供安全可靠的共享和保護手段,方便用戶使用。大部分應用程序都是基于文件系統進行操作,在不同的文件系統上是不能工作的。文件系統的存儲媒質:磁盤、光盤、FLASH盤等FAT(文件分配表)系統是最常用的文件系統,主要優點是可以允許多種操作系統訪問。25.1文件系統簡介文件系統的定義25.1文件系統簡介文件系統主要功能方便的文件訪問和控制:以符號名稱作為文件標識,便于用戶使用;并發文件訪問和控制:在多道程系統中支持對文件的并發訪問和控制;統一的用戶接口:在不同設備上提供同樣的接口,方便用戶操作和編程;多種文件訪問權限:在多用戶系統中的不同用戶對同一文件會有不同的訪問權限;優化性能:存儲效率、檢索性能、讀寫性能;差錯恢復:能夠驗證文件的正確性,并具有一定的差錯恢復能力;35.1文件系統簡介文件系統主要功能35.1文件系統簡介文件系統的結構45.1文件系統簡介文件系統的結構45.1文件系統簡介文件系統的主要內容:文件的格式目錄的格式磁盤的分配回收訪問方式和權限目錄也是一個特殊的文件。55.1文件系統簡介文件系統的主要內容:5DOS1.0(1981)DOS3.0(1984)Win95(1995)Win95Osr2(1996)Win98(1998)Win3.1(1992)FAT12FAT16VFATFAT32FAT文件系統FAT文件系統的發展6DOS1.0(1981)DOS3.0(1984)WiFAT12FAT16FAT32SizeofFATentry12bits16bits32bitsMaxnumofclusters4,08665,526268,435,456Clustersizeused0.5KB-4KB2KB-32KB4KB-32KB最大磁盤容量16,736,256
(16M)2,147,123,200
(2G)about2^41
(2T)FAT12/FAT16/FAT32比較7FAT12FAT16FAT32SizeofFATentFAT文件系統由下面四部分組成保留區Reservedregion存放引導記錄,BIOS信息等FAT區FAT信息列表
(12/16/32bits)根目錄區目錄信息列表
(32bytes)文件和目錄數據區存放簇信息reservedFAT(p)FAT(b)RootdirFileanddirectory……FAT文件系統基本結構8FAT文件系統由下面四部分組成reservedFAT(p)引導記錄基本信息
……引導代碼BIOS參數塊
(BPB)字節/扇區(512,1024,2048,4096)扇區/簇(1,2,4,8,16,32,64,128)根目錄數總扇區值介質類型
(硬盤,軟盤,FLASH)reservedFAT(p)FAT(b)RootdirFileanddirectory……保留區ReservedRegion
9引導記錄reservedFAT(p)FAT(b)Rootd通常有FAT(P)(primary)和FAT(B)(backup)每一個簇都有一個對應的FAT表項Cluster2Cluster3Clustern-1Clustern……FAT數據區reservedFAT(p)FAT(b)RootdirFileanddirectory………FAT區10通常有FAT(P)(primary)和FAT(B)(bacFAT鏈表(以FAT16為例)……目錄樹11FAT鏈表(以FAT16為例)……目錄樹115.2嵌入式文件系統嵌入式文件系統與桌面文件系統有較大區別:嵌入式文件系統要為嵌入式系統的設計目的而服務的,不同用途的嵌入式操作系統下的文件系統在許多方面各不相同。嵌入式Linux常用文件系統:第二版擴展文件系統(Ext2ft)、JFFS、YAFFS125.2嵌入式文件系統嵌入式文件系統與桌面文件系統有較大區別嵌入式Linux常用文件系統FlashMemory簡介FlashMemory上的兩種技術NAND:串行;順序讀??;適合大容量;通常需MTDNOR:并行;隨機讀??;適合數據或程序存儲;XIP;Xsbase開發平臺上所使用的閃存IntelStrataFlashMemory28F128J3A
Ext2fs、JFFS和YAFFSext、ext2、xia、vfat、minix、msdos、umsdos、proc、smb、ncp、iso9660、sysv、hpfs、affs、ufs、vfs等13嵌入式Linux常用文件系統FlashMemory簡介嵌入式Linux常用文件系統第二版擴展文件系統(Ext2fs)的優點Ext2fs支持達4TB的內存(Ext是2G)。Ext2fs文件名稱最長可以到1012個字符。當創建文件系統時,管理員可以選擇邏輯塊的大小(通常大小可選擇1024、2048和4096字節)。Ext2fs實現快速符號鏈接:不需要為此目的而分配數據塊,并且將目標名稱直接存儲在索引節點表中,這使性能有所提高,特別是在速度上。14嵌入式Linux常用文件系統第二版擴展文件系統(Ext2fs
基于FLASH的嵌入式文件系統
嵌入式系統中常使用FLASH作為存儲介質,有其特定的結構特點:基本存儲單位是Page,每個Page有512+16個字節;32個Page為一個Block;所有的Block組成一個Device,代表整個存儲體。主要有兩種技術:NAND和NOR三星K9F2808U0A-YCB0FLASH(NAND技術)有16M字節的存儲容量:有1024個Block,Device的總容量是:528Bytes*32Pages*1024Blocks=132MbitsIntel公司的28F128J3AFlash(NOR技術)15基于FLASH的嵌入式文件系統嵌入式系統中常使NAND和NOR兩種技術比較16NAND和NOR兩種技術比較16FLASH的存儲結構17FLASH的存儲結構17FLASH的讀寫特點和FAT組織讀寫特點:(1)必須以Page為單位進行讀寫;(2)寫之前必須先擦除原有內容;(3)擦除操作必須對Block進行,即一次至少擦除一個Block的內容FAT組織將Flash的一個Page定為1個扇區,2個Block-64個扇區定為一個簇(也可以定義32個扇區為一個簇),這樣,簇的容量剛好為512*64=32K,滿足FAT16對簇大小的要求。18FLASH的讀寫特點和FAT組織讀寫特點:18FLASH文件系統的特殊要求(1)掉電安全:
嵌入式系統的運行環境一般比較惡劣,但同時又要求有較高的可靠性。這就對FLASH文件系統進出了較高的要求,無論程序崩潰或系統掉電,都不能影響文件系統的一致性和完整性,文件系統的寫入、垃圾回收等操作對系統異常中止都非常敏感,極易造成數據丟失和數據垃圾,在文件系統設計和選用時應考慮;(2)平均使用(wear-leveling):
由于FLASH扇區的擦除次數有限制,要求能夠均勻使用各扇區,以延長FLASH的使用壽命;19FLASH文件系統的特殊要求(1)掉電安全:19(3)高效垃圾回收(garbagecollection):任何存儲器在分配使用一段時間后,都會出現空區和碎片數據,為保證存儲空間的使用率。方法是先移動扇區數據,再擦除整個扇區;(4)低空間消耗(lowoverhead):指文件系統管理結構在FLASH存儲器上的空間消耗,該空間用于FS建立,而不能用于實際數據的存儲,可以提高有用數據的存儲空間。FLASH文件系統的特殊要求20(3)高效垃圾回收(garbagecollection):(1)集中管理文件系統特點:存儲器空間的使用信息集中存放在存儲器的某個地方,存儲器的其它區域用于存放數據,數據必須依賴關鍵信息區才能被索引和使用缺點:需要大量緩存空間,當某扇區需要更新時,先將扇區數據備份到RAM中,再進行擦除操作,最后將修改后的備份寫入FLASH,缺點是難以保證掉電安全,不能均勻使用存儲器空間,特別是關鍵信息區,對文件系統的使用都會改寫該區,導致FLASH快速損壞;FLASH文件系統的分類21(1)集中管理文件系統FLASH文件系統的分類21FLASH文件系統的分類(2)線性文件系統概述:每個文件相關的信息都連續存放在存儲器中,實現簡單,讀寫快速,文件系統的關鍵信息分布存放;優點:安全性好;能保證存儲器的平均使用,延長了FLASH的使用壽命;缺點:對文件操作效率低,不易實現添加、插入、剪切等操作;22FLASH文件系統的分類(2)線性文件系統22(3)日志文件系統基本思想:跟蹤文件系統的變化而不是文件系統的內容概述:日志結構的文件系統使用順序的、只增的日志作為磁盤上唯一的組織文件系統數據的結構,文件的描述可以仍采用傳統的索引組織方式。方法是在內存中將幾次FS的修改匯集成一個大的日志條目(被稱為段映像),然后動態分配磁盤空間并通過一次寫操作寫到磁盤上的一個連續的、固定大小的日志段(Segment)中。并定時或當系統發出同步寫請求時保證日志同步寫到磁盤上FLASH文件系統的分類23(3)日志文件系統FLASH文件系統的分類23系統紀錄(SR,SystemRecord)文件分配表(FAT,FileAllocationTable)文件登記表(FRT,FileRegisterTable)數據區域(DataArea)典型FLASH文件系統的結構(1)系統記錄(SR,SystemRecord)
存放媒質信息和最重要的文件系統信息。媒質信息諸如Flash存儲器的類型、容量,劃分成多少個區塊,每區塊包含多少個頁面等。文件系統信息包括版本信息、保留區塊的數目和位置、文件分配表和文件登記表所在的位置和大小、數據區域的位置和大小等。(2)文件分配表(FAT,FileAllocationTable)
存放著Flash存儲器上所有區塊的占用與空閑情況以及每個文件的存儲連接結構,采用FAT16文件格式。24系統紀錄文件分配表文件登記表數據區域典型FLASH文件系統(3)文件登記表(FRT,FileRegisterTable)存放著Flash文件系統中每一個文件的文件代號、文件長度、文件屬性以及該文件的存儲鏈在文件分配表中的入口。(4)數據區域(DataArea)用于存放文件的數據內容。本Flash文件系統中,數據分配的最小單位是Flash存儲器的一個基本擦除單元,即一個物理區塊(Block)。系統紀錄(SR,SystemRecord)文件分配表(FAT,FileAllocationTable)文件登記表(FRT,FileRegisterTable)數據區域(DataArea)25(3)文件登記表(FRT,FileRegisterTabLBABlock/Page長度內容說明00/0512字節MBR=BPB+ExcutableCode+55AA1~20/1~0/21024字節FAT區(第一份FAT)3~40/3~0/41024字節FAT區備份(第二份FAT)5~39H0/5~0/3130K字節目錄區(在BPB中調整目錄項數,使其剛好占盡本block)40H1/1512字節數據區(因目錄區占盡一個簇,故數據區始于新block首page)FLASH的前兩個BLOCK26LBABlock/Page長度內容說明00/0512字節MBFILE結構體typedefstruct{ U8Buffer[BLOCK_SIZE]; //文件緩沖區 U32fileblock; //文件當前的簇的位置 U32filemode; //打開文件的模式 U32filebufnum;//文件緩沖區中已經讀取/寫入的字節數 U32fileCurpos; //讀寫的當前位置 U32filesize; //文件的大小}FILE;27FILE結構體typedefstruct{27與FLASH存儲器的接口函數塊擦除:unsignedcharErase_Cluster(unsignedintcluster)頁寫入:intWritePage(unsignedintblock,unsignedintpage,unsignedchar*pPage)頁讀出:voidReadPage(unsignedintblock,unsignedintpage,unsignedchar*pPage)28與FLASH存儲器的接口函數塊擦除:unsignedcha文件系統的相關API函數始始化文件系統:voidinitOSFile()以讀取或者寫入模式打開文件:File*OpenOSFile(Charfilename[],U32OpenMode)讀文件到緩沖區:U32ReadOSFile(FILE*pfile,U8*ReadBuffer,U32nReadbyte)把緩沖區內容寫入文件:U32WriteOSFile(FILE*pfile,U8*WriteBuffer,U32nWritebyte)關閉文件,釋放緩沖區:voidCloseOSFile(FILE*Pfile)29文件系統的相關API函數始始化文件系統:voidinitOpenOSFile的工作的流程圖30OpenOSFile的工作的流程圖30ReadOSFile函數的程序流程圖31ReadOSFile函數的程序流程圖31WriteOSFile函數的程序流程圖32WriteOSFile函數的程序流程圖32否CloseOSFile函數的程序流程圖33否CloseOSFile函數的程序流程圖335.3常用的基于Flash文件系統1、JFFS文件系統
2000年Axis公司發布了他們開發的日志式Flash文件系統JFFS文件系統是開放源代碼的文件系統,可以說是專門用于嵌入式Linux等系統的
JFFS是直接在Flash設備上實現的文件系統JFFS2沒有為Flash設備專門設計一個轉換層來模擬普通的文件系統,而是直接對Flash進行操作345.3常用的基于Flash文件系統1、JFFS文件系統34主要針對NORFlash設計,是一種基于Flash的JFFS文件系統日志文件系統JFFS的底層驅動(MTD)主要完成文件系統對Flash芯片的訪問控制,如讀、寫、擦除操作JFFS2是JFFS的改進版,35主要針對NORFlash設計,是一種基于Flash的JJFFSJFFS2MTD驅動(MemoryTechnologyD
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 內墻粉刷包工合同樣本
- 書面招標貨物采購合同樣本
- 如何利用大數據優化生產計劃
- 出售肉牛批發合同樣本
- 中介代簽合同樣本
- 個人轉讓住房合同范例
- 圖書選題計劃
- 農場采購化肥合同標準文本
- 2025如何簽訂正規的租賃合同
- 2025租賃會議室合同協議范本
- 網絡零售行業分析
- 屋頂光伏發電系統設計原則與方案
- 保安上墻制度
- 2025念珠菌病診斷和管理全球指南解讀課件
- 碘對比劑應用護理安全性
- 水電站安全生產培訓
- 2025年國家藥品監督管理局特殊藥品檢查中心招聘6人歷年高頻重點提升(共500題)附帶答案詳解
- 《礦井提升設備》課件2
- 被迫解除勞動合同通知書電子郵件
- 工具表單-崗位價值評估表(海氏)
- DB33T 2515-2022 公共機構“零碳”管理與評價規范
評論
0/150
提交評論