嵌入式存储设备上文件系统的设计与实现
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
嵌入式产品正以不可思议的速度闯入人们的日常生活。MP3、MP4、智能家电、智能手机等电子产品到处可见。嵌入式系统也逐渐成为当前最热门的研究方向之一。这些现象表明,嵌入式时代已经在不知不觉中来临。随着硬件技术的飞速发展,设备存储容量也越来越大,这满足了人们对嵌入式产品数据存储方面的需求,但同时也给嵌入式系统数据管理带来了诸多问题。若继续沿用传统的数据管理模式,不但会影响系统的性能,而且也无法对嵌入式存储设备进行合理的管理。因此,为嵌入式系统设计一套文件管理系统,对大量的复杂的数据资源进行有效的管理是十分必要的。
     论文针对嵌入式流行存储设备Flash的特点,设计并实现了以Flash为存储设备和μC/OS-II系统为运行平台的嵌入式文件系统。系统采用日志文件系统设计思想,使Flash存储设备得到更加合理的利用。文件系统采用模块化分层设计的原则,分为四层结构,在传统的闪存转换层基础上进行了大规模的设计,让其能够兼容多种设备;将文件系统和设备驱动程序分离开来,使得文件系统具有了支持多种设备的性能。该系统为应用程序开发提供统一的、标准的API函数,具有良好的可维护性和移植性。文件系统树组织形式上选择了以文件索引节点号为关键字的B+树形式。针对日志型文件系统加载速度慢的特点,设计了文件摘要区的结构,用来保存该块上的文件索引信息,从而大大加速了文件系统的初始化速度。
     本文件系统已经在HHARM9-EDU开发平台上进行了实际测试,运行实践证明该系统是成功的,系统运行是可靠的。在此基础上还对文件系统写操作中出现的异常终止进行了检证。
Embedded products have penetrated into the daily lives of people with an incredible speed. Electronic products, such as MP3, MP4, intelligent household appliances, and smart phones, are seen everywhere. Embedded system has become one of the most popular research direction gradually. All of these show that an era of embedded products comes unwittingly. The rapid development of hardware technology boosts the capacity of embedded products, which meets the needs of people for higher-capacity embedded products. But this also brings some problems in data management. If the use of the traditional pattern of data management is to be continued, the system performance will be adversely affected. In addition, the traditional pattern is no longer an optimal solution for managing storage equipments. Therefore, a new file system should be designed for embedded systems to manage the large number of complex data resources.
     In this thesis, a new embedded file system running onμC/OS-II is designed based on the characteristics of flash memory storage device on embedded systems. It is a log-structured file system with reasonable use of Flash Memory. This file system using modular design principles, the structure is divided into four levels, a large scale design is carried on it based on the traditional Flash Translation Layer which can allow compatible with a variety of equipment. Separate the file system from the equipment driver, making it can support multiple devices with performance. This system provides the unification, the standard API function for the application procedure development, therefore it has good maintainability and portability. The file system has selected B+ tree as it's organizational form which using index nodes as it's keyword. Summary document area used for the preservation of indexing information has designed in view of the slowly loading speed, therefore the speed of file system initialization is greatly accelerated.
     The file system has been tested on HHARM9-EDU development platform, which proved that it is successful and reliable. An examination has also carried on for the abnormal termination during writing.
引文
[1]曾卫华,高世臣,魏秋菊.μClinux下NAND FLASH的JFFS2文件系统的移植.计算机应用.2005,z1:1-4
    [2]何立民.嵌入式系统的定义与发展历史[J].单片机与嵌入式系统应用.2004,1:7-8
    [3]张大波.嵌入式系统原理、设计与应用[M].北京:机械工业出版社,2004:10-23
    [4] M Rosenblum,J K Ousterhout.The design and implementation of log-structured file system[J] .ACM Trans Comput Syst.1992:2-3
    [5]沈建华.Flash文件系统的研究与设计[J].计算机应用研究.2004,12:65-68
    [6]郑宗汉.实时系统软件基础.北京:清华大学出版社,2003,1:56-78
    [7] Karim,Yaghmour.Building Embedded Linux Systems,O'Reilly.2003:56-73
    [8]唐寅.实时操作系统应用开发指南.北京:中国电力出版社,2002,7:12-16
    [9]尤滔. Windows CE高级开发指南[M].北京:电子工业出版社,2000:30-34
    [10] Jean J. Labrosse.嵌入式实时操作系统μC/OS-II[M].绍贝贝译.北京:北京航空航天大学出版社发行,2003:1-3
    [11]陈智育.嵌入式系统中的Flash文件系统[J].单片机与嵌入式系统应用.2002,(2) :5-8
    [12]杨力波.FLASH存储器的编程模式与兼容性研究[J].国外电子元器件.2003,3:1-2
    [13]郑良辰,孙玉芳.日志文件系统在嵌入式存储设备上的实现[J].计算机科学.2002,2:1-3
    [14]熊志金,郭洪娜.μC/OS-II实时内核在TMS320C6201上的移植[J].微型机与应用.2004,6:2-3
    [15]毛德操,胡希明.Linux内核源代码情景分析(上册)[M].杭州:浙江大学出版社,2001:415-430
    [16] Andrew S.TanenBaum.现代操作系统(第2版)[M].陈向群等译.北京:机械工业出版社,2005:101-106
    [17] David Woodhouse.JFFS:The Journalling Flash File System,RedHat.Inc.53-70
    [18] Eran Gal,Sivan Toledo.Algorithms and data structures for flash memories[J].ACM Computing Surveys (CSUR).2005,37(2) :2-4
    [19]李桂良,刘发贵.JFFS2文件系统的关键技术及其在嵌入式系统的应用[J].计算机应用.2003,23(7) :1-2
    [20]赵复生.JFFS2文件系统及新特性介绍[J].开源技术中心(OTC).2005,12:2-5
    [21] Naedele Martin.An approach to modeling and evaluation of functional and timing specifications of real-time systems[J].Journal of Systems and Software.2001:3-4
    [22] Jean J. Labrosse.Embedded Systems Building Blocks::Complete and Ready-to-use Modules in C,Control Engineering Practice.1997:233-250
    [23]顾宝根,顾喜梅.日志结构的嵌入式文件系统研究[J].计算机工程与设计.2004,6:1-2
    [24] Andrew S,Tanenbaun Albert S,Wood hull etc..Operating System Design and Implementation 2"d Ed,Prentice Hall.1997:145-163
    [25] Sartaj Sahni.数据结构、算法与应用——C++语言描述[M].汪诗林等译.北京:机械工业出版社,2000:344-354
    [26]严蔚敏,吴伟民.数据结构[M].北京:清华大学出版社,1997:238-258
    [27] ED Sutter.Tiny File System,Embedded Systems Programming.2002,12:1-2
    [28]刘金梅等.嵌入式文件系统及jffs2文件系统在Flash上的实现[J].河北工业大学学报.2006,1:1-2
    [29]倪继利.Linux内核分析及编程[M].北京:电子工业出版社,2006:427-443
    [30] Alessandro Rubini.Linux Device Drivers 1st Edition,O’Reilly.1998:231-246
    [31] Moshe Bar.Linux文件系统.天宏工作室译.北京:清华大学出版社,2003,3:56-64
    [32] SUMSANG crop.28F128J3A, 28F640J3A, 28F320J3A.pdf, flash chip datasheet.2004:21-43
    [33]王田苗.嵌入式系统与实例开发[M].北京:清华大学出版社,2002:60-61
    [34]杜春雷.ARM体系结构与编程[M].北京:清华大学出版社,2003:449-486
    [35] SUMSANG crop. S3C2410X user’s manual.2004:17-53

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700