999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

ASIX OS II系統(tǒng)中FAT16文件系統(tǒng)的分析

2008-12-31 00:00:00錢麗麗
電腦知識(shí)與技術(shù) 2008年16期

摘要:文中論述在復(fù)雜嵌入式系統(tǒng)中建立文件系統(tǒng)的重要性,并提出將FAT16文件系統(tǒng)應(yīng)用于嵌入式操作系統(tǒng)ASIX OSⅡ的方案。根據(jù)FAT16文件系統(tǒng)總體的構(gòu)架、基本的數(shù)據(jù)結(jié)構(gòu),針對嵌入式系統(tǒng)的特點(diǎn)搭建能夠有效管理、讀取數(shù)據(jù)文件的系統(tǒng)。其技術(shù)成熟,應(yīng)用可靠,并且提供和ASIX OSⅡ的API接口,便于使用,易于移植。

關(guān)鍵詞:嵌入式系統(tǒng);FAT16文件系統(tǒng);ASIX OSⅡ

中圖分類號(hào):TP316文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)16-21311-02

Implementation of FAT16 File System on Embedded OS ASIX OSⅡ

JIANG Chuan, QIAN Li-li, LIU Hao

(IC College, Southeast University, Suzhou Research Institute, Nanjing 210096,China)

Abstract:This paper discuss it is important to build the file system on the complex Embedded system, and proposed that applies the FAT16 filing system in embedded operating system ASIX OSⅡ. According to the FAT16 filing system overall's skeleton, the basic construction of data, in view of embedded system's characteristic can build the file system that manage effective. Its technology is mature, the application is reliable, and provides with API of ASIX OSⅡ, is advantageous for the use, easy to transplant.

Key words:Embedded System;FAT16 File System;ASIX OSⅡ

近年來,嵌入式系統(tǒng)發(fā)展迅猛的同時(shí),對于數(shù)據(jù)操作的靈活性提出了越來越高的要求。以往那種直接針對存儲(chǔ)介質(zhì)讀寫數(shù)據(jù)的方式顯然是不能夠滿足這種靈活的需求,因此,如何在嵌入式操作系統(tǒng)中使用文件系統(tǒng)管理數(shù)據(jù)文件成為嵌入式系統(tǒng)開發(fā)無法回避的問題。

ASIX OS II是國家專用集成電路系統(tǒng)工程技術(shù)研究中心自主設(shè)計(jì)的嵌入式實(shí)時(shí)操作系統(tǒng),能為嵌入式應(yīng)用提供多種系統(tǒng)資源管理功能。ASIX OS II文件系統(tǒng)提供與底層物理存儲(chǔ)介質(zhì)無關(guān)的、清晰明了的API函數(shù),使上層不用關(guān)心底層的存儲(chǔ)介質(zhì),而方便的利用標(biāo)準(zhǔn)接口訪問底層存儲(chǔ)器。接口的標(biāo)準(zhǔn)化,使程序的層次分明,增加程序的可移植性。因此,在嵌入式系統(tǒng)中加載文件系統(tǒng)是嵌入式系統(tǒng)發(fā)展的必然接口。

1 ASIX OS II文件系統(tǒng)概述

本系統(tǒng)使用FLASH為存儲(chǔ)介質(zhì),使用專用的嵌入式文件系統(tǒng)——ASIX OS II文件系統(tǒng)。ASIX OS文件系統(tǒng)是一個(gè)與MS-DOS、Windows 95、Windows98和Windows NT兼容的VFAT文件系統(tǒng)。該文件系統(tǒng)的實(shí)現(xiàn)代碼是用ANSI C 編寫的,它支持FAT12,F(xiàn)AT16 和FAT32文件系統(tǒng)格式和長的文件名一直到255個(gè)字符,它是ASIX PLUS實(shí)時(shí)核的一個(gè)文件系統(tǒng)的擴(kuò)充。因?yàn)锳SIXOS文件系統(tǒng)與Microsoft的文件系統(tǒng)高度的皆容,這使得在此基礎(chǔ)上設(shè)計(jì)的嵌入式FTP系統(tǒng)能夠存取INTERNET上豐富的文件資源。

如圖1所示,本系統(tǒng)通過層次結(jié)構(gòu)實(shí)現(xiàn)對文件的操作。應(yīng)用程序使用標(biāo)準(zhǔn)函數(shù)庫中1/0函數(shù)對文件結(jié)構(gòu)進(jìn)行操作。該系統(tǒng)通過存儲(chǔ)設(shè)備的驅(qū)動(dòng)程序?qū)崿F(xiàn)對物理設(shè)備(FLASH)的控制。驅(qū)動(dòng)層向上將設(shè)備抽象成邏輯設(shè)備(邏輯頁面和塊),為文件系統(tǒng)提供對物理設(shè)備操作的接口。向下實(shí)現(xiàn)對物理閃存設(shè)備的讀寫、清零、ECC檢驗(yàn)等工作。

2 ASIX OS II文件系統(tǒng)的實(shí)現(xiàn)

ASIX OS II 文件系統(tǒng)使用FAT16格式,這是一種成熟、結(jié)構(gòu)簡單,系統(tǒng)資源開銷小,易于在嵌入式系統(tǒng)的硬件平臺(tái)還是那個(gè)實(shí)現(xiàn)的文件系統(tǒng)。

FAT16文件系統(tǒng)管理的設(shè)備由4部分組成:①保留區(qū)域(Reserved Region);②FAT表區(qū)(FAT Region);③根目錄區(qū)(Root Directory Region);④文件、目錄數(shù)據(jù)區(qū)(File and Directory Data Region)。如圖2所示。

相對應(yīng)前三個(gè)部分,F(xiàn)AT16文件系統(tǒng)中定義了三個(gè)非常重要的數(shù)據(jù)結(jié)構(gòu),它們是:①BPB數(shù)據(jù)結(jié)構(gòu);②FAT數(shù)據(jù)結(jié)構(gòu);③目錄項(xiàng)。

圖1 對FLASH的操作過程圖2 FAT文件系統(tǒng)結(jié)構(gòu)圖

BPB(BIOS Parameter Block)數(shù)據(jù)結(jié)構(gòu)位于文件分區(qū)保留區(qū)的第一扇區(qū),這個(gè)扇區(qū)被稱為“引導(dǎo)扇區(qū)”或“保留扇區(qū)”或“零扇區(qū)”,它由高級(jí)格式化程序產(chǎn)生。BPB顧名思義就是“基本輸入輸出參數(shù)塊”,這個(gè)數(shù)據(jù)結(jié)構(gòu)中包含了對文件分區(qū)描述的基本信息,包括:每扇區(qū)的字節(jié)數(shù)、每簇的扇區(qū)數(shù)、FAT表數(shù)目、“目錄項(xiàng)”數(shù)、文件分區(qū)中的扇區(qū)數(shù)、每個(gè)FAT表占用的扇區(qū)數(shù)。

圖3 FAT表結(jié)構(gòu)圖

FAT(File Allocation Table)數(shù)據(jù)結(jié)構(gòu)位于文件分區(qū)FAT表區(qū),F(xiàn)AT表區(qū)緊跟保留區(qū)域之后,出于數(shù)據(jù)安全考慮,F(xiàn)AT表區(qū)一般有兩個(gè)FAT表,第二個(gè)FAT表是第一個(gè)FAT表的簡單備份。FAT數(shù)據(jù)結(jié)構(gòu)充分體現(xiàn)了FAT文件系統(tǒng)的文件索引機(jī)制,F(xiàn)AT16文件系統(tǒng)FAT表的部分內(nèi)容如圖3所示。

圖2中第1行表示FAT表的表項(xiàng),第2行表示的是對應(yīng)文件簇的分配情況;0000表示未分配簇;0002-FFEF表示已分配簇;FFF0-FFF6為系統(tǒng)保留;FFF7表示壞簇,不可讀寫;FFF8-FFFF表示文件結(jié)束簇。

它的核心思想如下:FAT文件系統(tǒng)為每個(gè)文件建立一個(gè)“索引鏈”,“鏈”上的每個(gè)元素是文件數(shù)據(jù)在數(shù)據(jù)區(qū)中所占“簇”的“簇號(hào)”。通過某個(gè)文件的目錄項(xiàng),該文件在數(shù)據(jù)區(qū)中的起始簇號(hào)可以很容易得到,由此可以在數(shù)據(jù)區(qū)的這個(gè)簇讀取到相應(yīng)的數(shù)據(jù)。然后再查找到FAT表的這個(gè)簇號(hào)單元,如果內(nèi)容是文件結(jié)束標(biāo)志(FFFF),則表示該文件結(jié)束,否則該單元的內(nèi)容指的是該文件保存數(shù)據(jù)的下一簇的簇號(hào),這樣重復(fù)索引直到找到文件結(jié)束。流程如圖4所示。

目錄項(xiàng)是非常重要的一個(gè)數(shù)據(jù)結(jié)構(gòu),因?yàn)橹挥蠪AT表還不能定位文件在存儲(chǔ)介質(zhì)中的位置。無論哪種形式下的目錄項(xiàng),它都記錄著每個(gè)文件的起始位置。在根目錄區(qū)之后,才是真正意義上的數(shù)據(jù)存儲(chǔ)區(qū),即DATA區(qū)。

DATA雖然占據(jù)了絕大部分存儲(chǔ)空間,但沒有前面的部分。它對于用戶來說,也只能是一些枯燥的二進(jìn)制代碼,沒有任何意義。系統(tǒng)是沒有辦法利用其中的有效數(shù)據(jù)的。

為了有效管理引導(dǎo)扇區(qū)、FAT、目錄項(xiàng)等,為每個(gè)文件系統(tǒng)建立了一個(gè)專有的數(shù)據(jù)結(jié)構(gòu),它包括引導(dǎo)區(qū)的首地址、FAT表指針、目錄項(xiàng)表的結(jié)構(gòu)、數(shù)據(jù)區(qū)的扇區(qū)號(hào)等成員變量。通過它,可以很容易的訪問文件系統(tǒng)中的所有數(shù)據(jù)結(jié)構(gòu)和參數(shù)。

3 FAT16文件系統(tǒng)在ASIX OS II中的API接口

在ASIX OS II中使用FAT16文件系統(tǒng)是通過調(diào)用文件系統(tǒng)提供的一系列API函數(shù)實(shí)現(xiàn)的。通過調(diào)用這些函數(shù),上層應(yīng)用程序開發(fā)者可以不管底層硬件的具體操作,直接地靈活管理存儲(chǔ)設(shè)備而上的數(shù)據(jù)文件。

使用這套文件系統(tǒng),需要在相關(guān)的任務(wù)里調(diào)用相應(yīng)的API函數(shù)。

4 ASIX OS II文件系統(tǒng)的簡易移植性

在不同的應(yīng)用場合,物理存儲(chǔ)介質(zhì)是不同的。為了使文件系統(tǒng)在各種不同的存儲(chǔ)介質(zhì)上能夠方便的使用,設(shè)計(jì)者通過一個(gè)結(jié)構(gòu)體數(shù)組來解決移植性的問題。具體代碼如下:

_PC_BDEVSW pc_bdevsw[] =

{

{0, pc_rd_open, pc_rd_raw_open, pc_rd_close, pc_rd_io, pc_rd_ioctl,(int(*)(U16))0},/* A: RAMDISK*/

{1, nor_rd_open, nor_rd_raw_open, nor_rd_close, nor_rd_io, nor_rd_ioctl,(int(*)(U16))0}, /* B: NORFLASH */

{3,nand_rd_open, nand_rd_raw_open, nand_rd_close, nand_rd_io, nand_rd_ioctl, (int(*)(U16))0} /* D: nandflash*/

};

對于不同介質(zhì)的讀寫操作,用戶只要更改結(jié)構(gòu)體數(shù)組中的設(shè)備驅(qū)動(dòng)號(hào)即可。也就是說,文件系統(tǒng)移植過程中只需要根據(jù)存儲(chǔ)介質(zhì)的不同改寫相應(yīng)的底層讀寫函數(shù),不需要更改文件系統(tǒng)的任何API函數(shù),也不需要改變文件系統(tǒng)的應(yīng)用方式,這使得文件系統(tǒng)具有很簡單的移植性。

5 結(jié)束語

嵌入式文件系統(tǒng)繼承了普通文件系統(tǒng)的設(shè)計(jì)思想和實(shí)現(xiàn)方法,本文又根據(jù)ASIX OS II系統(tǒng)自身的特點(diǎn)對普通文件系統(tǒng)作了精簡和適應(yīng)性擴(kuò)展。FAT16文件系統(tǒng)在整個(gè)嵌入式系統(tǒng)中的應(yīng)用,體現(xiàn)了存儲(chǔ)數(shù)據(jù)可靠性高,與操作系統(tǒng)耦合度低等一些列的優(yōu)點(diǎn)。是一套適合與嵌入式開發(fā)的文件系統(tǒng)。

參考文獻(xiàn):

[1] 鄧劍,楊曉非,廖俊卿.FAT 文件系統(tǒng)原理及實(shí)現(xiàn)[J].計(jì)算機(jī)與數(shù)字工程,2005,33(9):105-108.

[2] 羅華春.基于Flash存儲(chǔ)器的嵌入式文件管理器設(shè)計(jì)[J].交通與計(jì)算機(jī),2005,23(1):99-102.

[3] 普天信息技術(shù)研究院.關(guān)于NAND Flash存儲(chǔ)空間管理和文件管理方法的研究[J].技術(shù)報(bào)告.北京.2005.

[4] 陳育智.嵌入式系統(tǒng)中的Flash 文件系統(tǒng)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用.2002,(2):5-8.

[5] 駱麗譯.嵌入式系統(tǒng)設(shè)計(jì)[M].北京航空航天大學(xué)出版社.

[6] 陳代軍.解析FAT文件系統(tǒng)對長文件名的支持[J].成都信息工程學(xué)院學(xué)報(bào).18卷 380-385.

注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。

主站蜘蛛池模板: 午夜国产精品视频| 蜜臀AV在线播放| 欧美色视频网站| 韩日无码在线不卡| 精品亚洲麻豆1区2区3区| 国产在线精品99一区不卡| 9久久伊人精品综合| 99久久精彩视频| 欧美日韩亚洲国产| 国产精品免费p区| 日本人妻一区二区三区不卡影院| 97免费在线观看视频| 国产午夜一级淫片| 免费不卡在线观看av| 欧美成人精品一级在线观看| 激情五月婷婷综合网| 成人永久免费A∨一级在线播放| 国产亚卅精品无码| 91蝌蚪视频在线观看| 欧美成人免费午夜全| 国产91精选在线观看| 日本91视频| 亚洲av色吊丝无码| 真实国产精品vr专区| 国产一区二区三区在线精品专区 | 亚洲精品无码AⅤ片青青在线观看| 色婷婷久久| 国产剧情国内精品原创| 欧美中出一区二区| 婷婷成人综合| 免费福利视频网站| 在线国产毛片| 为你提供最新久久精品久久综合| 日本三级黄在线观看| 亚洲精品自产拍在线观看APP| 亚洲无线国产观看| 国产成人艳妇AA视频在线| 久久情精品国产品免费| 婷婷午夜影院| 这里只有精品在线| 国产91av在线| 久久精品国产免费观看频道| 国产三级毛片| www.亚洲一区二区三区| 五月天天天色| 欧美亚洲日韩不卡在线在线观看| 久久久受www免费人成| 极品尤物av美乳在线观看| 国产成人一二三| 久久黄色视频影| 秋霞午夜国产精品成人片| 免费a级毛片18以上观看精品| 九色综合伊人久久富二代| 久综合日韩| 久草网视频在线| 欧洲日本亚洲中文字幕| 欧美一区二区福利视频| 国产乱人激情H在线观看| 尤物国产在线| 欧美一级高清片久久99| 国产欧美专区在线观看| 亚洲国产日韩在线成人蜜芽| 国产H片无码不卡在线视频| 国产免费网址| 亚洲欧洲综合| 青青青视频免费一区二区| 国产91视频观看| 高清欧美性猛交XXXX黑人猛交 | 国产精品福利导航| 国产97视频在线观看| 992Tv视频国产精品| 草逼视频国产| 国产欧美日韩91| 热这里只有精品国产热门精品| 日韩国产欧美精品在线| 国产成人精彩在线视频50| 亚洲日韩国产精品综合在线观看| 午夜精品福利影院| 91精品啪在线观看国产91九色| 久久夜色精品| 国产精品视频999| 欧美色亚洲|