(计算机应用技术专业论文)低硬件依赖性的嵌入式文件系统构建.pdf_第1页
(计算机应用技术专业论文)低硬件依赖性的嵌入式文件系统构建.pdf_第2页
(计算机应用技术专业论文)低硬件依赖性的嵌入式文件系统构建.pdf_第3页
(计算机应用技术专业论文)低硬件依赖性的嵌入式文件系统构建.pdf_第4页
(计算机应用技术专业论文)低硬件依赖性的嵌入式文件系统构建.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

; c l a s s i f i e di n d e x : u d c : l i 1l 1 lll l lll l 1l llll y 18 0 8 4 8 9 ad is s e r t a ti o nf o rd e g r e eo fm e n g t h ec o n s t r u c t i o no fal o w h a r d w a r e - - d e p e n d e n t e m b e d d e df i l es y s t e m c a n d i d a t e :y uz h e n n a n s u p e r v i s o r :p r o f e s s o rg ug u o c h a n g a c a d e m i cd e g r e ea p p l i e df o r :m a s t e ro fe n g i n e e r i n g s p e c i a l i t y :c o m p u t e ra p p l i e dt e c h n o l o g y d a t eo fs u b m i s s i o n :j a n u a r y ,2 010 d a t eo f0 r a le x a m i n a t i o n :m a r c h ,2 010 u n i v e r s i t y :h a r b i ne n g i n e e r i n gu n i v e r s i t y 哈尔滨工程大学 学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导师的指导下,由 作者本人独立完成的。有关观点、方法、数据和文献的引用已在 文中指出,并与参考文献相对应。除文中己注明引用的内容外, 本论文不包含任何其他个人或集体己经公开发表的作品成果。对 本文的研究做出重要贡献的个人和集体,均己在文中以明确方式 标明。本人完全意识到本声明的法律结果由本人承担。 作者( 签字) :旮懒 日期:吵历年) 月阳 哈尔滨工程大学 学位论文授权使用声明 本人完全了解学校保护知识产权的有关规定,即研究生在校 攻读学位期间论文工作的知识产权属于哈尔滨工程大学。哈尔滨 工程大学有权保留并向国家有关部门或机构送交论文的复印件。 本人允许哈尔滨工程大学将论文的部分或全部内容编入有关数据 库进行检索,可采用影印、缩印或扫描等复制手段保存和汇编本 学位论文,可以公布论文的全部内容。同时本人保证毕业后结合 学位论文研究课题再撰写的论文一律注明作者第一署名单位为哈 尔滨工程大学。涉密学位论文待解密后适用本声明。 本论文( 口在授予学位后即可囵在授予学位1 2 个月后口 解密后) 由哈尔滨工程大学送交有关部门进行保存、汇编等。 作者( 签字) : 日期: 砂加年罗月f 苫日 , 导师( 签字) :在页曰号 2o io 年3 月i 孑日 哈尔滨1 二稗大学硕十学位论文 摘要 文件系统这一概念由来已久,近些年来随着嵌入式系统技术的不断发展, 在嵌入式应用中对文件进行操作已经产生了巨大的需求。国外对嵌入式文件 系统的研究早已开始,并取得了丰硕的成果。一些优秀方案应运而生,在实 际的项目中起着极为重要的作用。国内对此方向的研究稍晚,成熟的方案也 较少,并大多用于商业,不向研究者与应用者开放源代码,这对于嵌入式文 件系统在国内的发展是较为不利的。本文提出一种全部自主研发的嵌入式文 件系统解决方案,以希望促进相关技术的发展,为此方向的研究者提供一定 的参考。 本文对当前流行的通用文件系统的结构与运行机制进行了介绍,以便使 嵌入式文件系统得以借鉴,并作到与之兼容。嵌入式文件系统由于其需求和 应用的特殊性有着其自身的特性,深入的了解和研究它的特点和技术要点, 是构建嵌入文件系统的重要基础。本设计中所实现的方案目的在于对硬件资 源的低依赖性,并且在此基础上保证其功能的完备性和正确性。为了使此方 案能够真正应用到实际的工程中去,被大多数的c p u 所支持,在设计上对精 简性、可移植性、可扩展性等多个方面进行了增强。对嵌入式文件系统的研 究与构建,最核心的工作在于实现各种文件级操作,它们涉及到实际的需求 与具体的技术,并要求高效。由于整个嵌入式文件系统功能较多、细节较为 繁琐等因素,为了保证其正确性、稳定性及高效性,本文中对它的验证测试 方案进行了设计,并对其进行全面、真实而有效的测试。 另外,为了使此嵌入式文件系统方案能够真正的运行起来,将配合专门 设计的硬件目标板对其进行调试。同时,为了保它其对硬件资源的低依赖性, 目标板上选用资源最为贫乏的8 0 5 1 内核微控制器芯片。 关键词:硬件依赖性;文件系统;f a t 3 2 ;可移植性 , 一 哈尔滨t 稗大学硕十学何论文 a b s t r a c t f i l es y s t e mi sac o n c e p to fl o n g - s t a n d i n g ,a se m b e d d e ds y s t e m st e c h n o l o g yi n r e c e n ty e a r sd e v e l o p p i n gc o n t i n u o u s l y , h a sg e n e r a t e dah u g ed e m a n di ne m b e d d e d a p p l i c a t i o n s f o r e i g ns t u d yo ne m b e d d e df i l es y s t e mh a sa l r e a d yb e e ns t a r t e da n d a c h i e v e df r u i t f u lr e s u l t s s o m ee x c e l l e n tp r o g r a m sc a m ei n t ob e i n g ,p l a y sa n e x t r e m e l yi m p o r t a n tr o l ei nt h ea c t u a lp r o j e c t s t h ed o m e s t i cr e s e a r c ho ni tl a t e r , m a t u r ep r o g r a m sa r ea l s ol o wa n da r em o s t l yu s e df o rc o m m e r c i a l ,n o tt o r e s e a r c h e r sa n dt h o s ew h ou s eo p e n s o u r c e ,w h i c hf o rt h ee m b e d d e df i l es y s t e m i nt h ec o u n t r y sd e v e l o p m e n ti sm o r eu n f a v o r a b l e t h i sp a p e rp r e s e n t saf u l l s e l f - d e v e l o p e d e m b e d d e df i l es y s t e ms o l u t i o n st oh o p e t o p r o m o t e t h e d e v e l o p m e n to fr e l a t e dt e c h n o l o g i e s ,r e s e a r c h e r si nt h i sd i r e c t i o nt op r o v i d ea r e f e r e n c e i nt h i sp a p e r , t h ep o p u l a rg e n e r a l - p u r p o s ef i l es y s t e ms t r u c t u r ea n do p e r a t i n g m e c h a n i s ma r eb r ie f l yi n t r o d u c e d ,i no r d e rt ob el e a r n tb ye m b e d d e df i l es y s t e m a n di sc o m p a t i b l ew i t hi t e m b e d d e df i l es y s t e mh a v et h e i ro w r lc h a r a c t e r i s t i c s d u et ot h es p e c i f i c i t yo ft h en e e d sa n da p p l i c a t i o n s d e e pu n d e r s t a n d i n ga n ds t u d y o fi t sc h a r a c t e r i s t i c sa n dt e c h n i c a lp o i n t sw i l lb et h eb a s i sf o rb u i l d i n ge m b e d d e d f i l es y s t e m i nt h i sd e s i g n ,t h ep r o g r a ma i m st ol o w e ri t sd e p e n d e n c eo nt h e h a r d w a r er e s o u r c e s ,a n do nt h i sb a s i st oe n s u r et h ec o m p l e t e n e s so fi t s f u n c t i o n a l i t y i no r d e rt om a k et h i sp r o g r a mc a nt r u l yb ea p p l i e dt o t h e a c t u a l p r o j e c t s ,b e i n gs u p p o r t e db ym o s to ft h ec p u ,i nt h ed e s i g no ft h es t r e a m l i n e d , p o r t a b i l i t y , s c a l a b i l i t y , a n dm a n y o t h e ra s p e c t sw e r es t r e n g t h e n e d e m b e d d e df i l e s y s t e mr e s e a r c ha n dc o n s t r u c t i o n ,t h ec o r eo ft h ew o r ki st oa c h i e v eav a r i e t yo f f i l e o p e r a t i o n sf u n c t i o n s ,t h e y r e l a t et ot h e a c t u a ln e e d sa n dt h es p e c i f i c t e c h n o l o g ya n dd e m a n de f f i c i e n t l y a st h ee n t i r ee m b e d d e df i l es y s t e mf u n c t i o n s a n dd e t a i l so ft h em o r ec o m p l i c a t e da n do t h e rf a c t o r s ,i no r d e rt oe n s u r ei t s a c c u r a c y s t a b i l i t ya n de f f i c i e n c y , t h i sa r t i c l ed e s i g nt h ev a l i d a t i o nt e s tp r o g r a m f o r i t s 允1 1 t r u ea n de f f e c t i v et e s t , 哈尔滨t 程大学硕十学何论文 i na d d i t i o n ,i no r d e rt om a k et h er e s e a r c ha n dr e a l i z a t i o no ft h ew h o l es y s t e m c a l lr u nu pt r u l y , t h ep r o g r a mw i l lb ed e s i g n e dw i t ht h eh a r d w a r et a r g e tb o a r dt o d e b u gi t m e a n w h i l e ,i no r d e rt oe n s u r et h e i rl o wh a r d w a r e d e p e n d e n c e w eu s e 8 0 5ic h i p so ft h ep o o r e s tr e s o u r c e so nt h eb o a r d k e yw o r d s :h a r d w a r e - d e p e n d e n c e ;f i l es y s t e m ;f a t 3 2 ;p o r t a b i l i t y 一 哈尔滨下挥大学硕十学何论文 目录 第1 章绪论1 1 1 课题背景。l 1 2 课题的目的和意义2 1 3 国内外研究现状2 1 3 1 国外相关领域研究现状。2 1 3 2 国内相关领域研究现状3 1 3 3 嵌入式文件系统存在的问题和发展方向。4 1 4 论文的主要工作5 1 5 论文的组织结构5 第2 章嵌入式文件系统的构建思想6 2 1r 町3 2 文件系统概述6 2 1 1r 盯3 2 的整体结构6 2 1 2f a t 3 2 的核心机制7 2 2 嵌入式应用中文件系统的功能及特性7 2 2 1 存储设备驱动接口。8 2 2 2 实现各种文件级操作8 2 2 3 可移植性1o 2 3 本章小结11 第3 章系统的设计与实现一1 2 3 1 嵌入式文件系统的层次化设计。1 2 3 2 抽象设备驱动接口设计与实现1 3 3 2 1 抽象设备驱动接口的设计1 3 3 2 2 抽象设备驱动接口的实现1 3 3 3 关键参数获取部分的设计与实现1 4 3 3 1 关键参数获取部分的设计1 4 3 3 2 关键参数获取部分的实现1 6 3 4 主要功能的设计与实现1 8 一 哈尔滨- t 稗大学硕十学位论文 3 4 1 进入目录功能1 8 3 4 2 打开文件功能2 2 3 4 3 数据定位与读取功能2 4 3 4 4 文件目录创建功能2 6 3 4 5 添加数据功能2 7 3 4 6 多设备功能2 8 3 5 低硬件依赖性与高可移植性的设计与实现2 9 3 5 1 低硬件依赖性3 0 3 5 2 高可移植性3 0 3 6 本章小结3 2 第4 章系统验证方案与实验结果分析一3 3 4 1 系统验证方案3 3 4 1 1s h e l l 命令行式测试方案3 3 4 1 2 文件级j p e g 解码应用测试3 5 4 2 实验结果分析一3 7 4 2 1s h e l l 命令行测试3 7 4 2 2 文件级j p e g 解码测试4 l 4 3 本章小结一4 4 第5 章实际工程应用4 5 5 1s d 卡m p 3 播放器项目4 5 5 1 1 项目整体介绍4 5 5 1 2 实际效果评估4 6 5 1 3 硬件实物4 7 5 2 工业串口s d 卡模块项目4 7 5 2 1 项目整体介绍4 8 5 2 2 实际效果评估4 8 5 2 3 硬件实物4 9 5 3 塔机数据采集项目4 9 5 3 1 项目整体介绍5 0 5 3 2 实际效果评估5 0 一 哈尔滨t 稗大学硕十学何论文 5 4 本章小结5 1 结论5 2 参考文献5 4 攻读硕士学位期间发表论文和取得的科研成果5 4 致谢5 8 r 哈尔滨t 稗大学硕十学仲论文 1 1 课题背景 第1 章绪论 文件系统的产生由来已久,在计算机的发展过程中从来都占有极为重 要的地位。在早期的一些操作系统中,甚至充当着决定性的因素。在当今众 多的操作系统中,它就显得更为关键,成为了各种系统应用的根本基础。在 嵌入式【2 】应用的早期阶段,由于硬件资源较为贫乏,文件系统在嵌入式领域 应用还是不可想像的。但随着嵌入式系统技术的不断发展及芯片资源的不断 丰富,传统的文件系统的应用开始向着新的领域拓展,嵌入式文件系统【3 】这 一概念应运而生。 嵌入式文件系统较传统意义上的文件系统有着其自身独特的性质。如它 本身的代码是比较精简的,以适应嵌入式c p u 3 的速度较慢,资源较少的状 况;又如嵌入式系统的多样性,以及嵌入式c p u 结构的多元性,因此嵌入式 文件系统的移植性是一个重要的指标,这些特点和要求无形之中对我们构建 嵌入式文件系统方案造成了困难。使其运行效率更高,适应范围更广,兼容 性也更好,这也正是我们要研究的核心内容。 一切流行而实用的技术都不乏研究者。这两年,在嵌入式文件系统方面 国外的一些大学与研究机构都进行了较为广泛深入的研究,并构建出了相应 的文件系统方案,比如比利时的e f s l 等等,并且这些方案都是开源的。国 内对文件系统的应用多在于商业,所以代码与资源并不开放,这就对研究与 使用带来了很大的不便。因此,从这一方面来说,国内迫切需要一种开源的 嵌入式文件系统方案。 本课题的研究,重点在于方案的硬件依赖性与原创性。上面所提及的方 案大多需要较多的硬件资源,比如r a m 、专用电路接口、运行频率等等。这 对于嵌入式文件系统的应用造成了很大的障碍。因为受限于成本,很多的实 际项目中所使用的嵌入式c p u 硬件资源较为有限,频率较低,比如8 0 5 1 等 等。所以,如果能在这些较为低端的c p u 上构建一套合适的文件系统方案, 将是非常有研究意义与实用价值的。 t 哈尔滨t 程大学硕十学何论文 1 2 课题的目的和意义 此课题源于对国内外现有嵌入式存储设备管理方案的长期研究以及实际 的项目需求,此项目中需要在8 0 5 1 上进行文件系统构建,以满足其数据采集 的需求。在这一系统中,数据来源于c a n 总线,8 0 5 1 在对数据进行拆包解析 后,将数据由嵌入式文件系统写入文件中,并与主流的f a t 3 2 【5 】文件系统相兼 容。 课题源于此项目,但不限于此项目,在长期的研究过程中,此方案在功 能上得到了不断的扩充,如深层目录支持、多设备的支持等等。针对于其正 确性、稳定性、兼容性及可移植性等方面进行了大量的测试与验。 该课题的目的为:对嵌入式存储设备的特性与管理策略进行研究;构建 一套完备的、对硬件依赖性低的、精简高效的嵌入式文件系统;对方案进行 功能测试与工程测试并进行推广,努力使其成为女i e f s l 、汀f s 一样优秀的 嵌入式文件系统解决方案。 国内进行此方面研究并提出相应方案的以z l g 的z l g f s 最为著名,但其 并不适用于较为低端f l 勺c p u ,而只用于如a r m 、d s p 6 1 之类f l 勺c p u ,并且它 作为一种学习性质的方案,可能在实际工程中较难应用。因此,国内真正意 义上的对硬件依赖性较低,易于工程化应用的开源的嵌入式文件系统方案仍 较为缺乏。此课题的提出与实现,对与课题相关内容进行的一系列的研究工 作与成果,及进一步对其进行的工程化,将较大程度上丰富国内此方面的资 源,促进嵌入式文件系统技术与应用的不断发展。 1 3 国内外研究现状 1 3 1 国外相关领域研究现状 对嵌入式文件系统方面的研究,国外的很多大学与机构很早就开始了, 并取得了卓越的成绩。一些优秀的方案,也已经商业化与产品化。在较长的 时间内,这些方案在很多工程项目中得到了应用,这不仅限于国外,乃至于 国内的一些工程项目中都在使用。下面对国外的几种较为优秀的方案进行介 绍。 2 哈尔滨丁稃大学硕七学何论文 e f s l :e f s l 的全称是e m b e d e df i l es y s t e ml i b r a r y ,它是s o u r c e f o r g e n e t ( 位于比利时) 上的一个开源项目,此项目正在持续更新。在源码中提供了 大量的注释,便于阅读与研究。支持多设各及多文件操作。它的可移植性较 好,只需要提供读扇区和写扇区两个函数皆可。 f - a t f s :f a t f s 是从w i n c e 源代码中剥离出的f a t 文件系统源代码,移 植性非常高。但是f a t f s 的研发者已经停止了更新,因为它牵涉到微软授权 的问题,并且f a t f s 的移植接口较为复杂与抽象,需要研究者或使用者对其 , 有较深的了解才能进行功能的移植。 u c f s :由m i c f i u m 公司研发,在稳定性、兼容性上都非常优秀,但由 于它是商用软件,所以源码需要购买,即使得到了源代码,也会因为缺乏相 关的技术支持而对应用造成困难。 以上列举出的就是国外的几个较为优秀的,应用较广的嵌入式文件系统 方案。抛开商业因素,单从功能及可移植性上来说,他们都存在着同一个问 题,那就是向低端应用移植较为困难,大多需要较多的硬件资源。虽然f a t f s 发布了一个精简版本,被称作t i n y - f a t f s ,只需要1 k b 左右的r a m 资源, 但这是以牺牲性能与功能完整性为代价的。像多文件、多设备等性质它已荡 然无存,只能实现最为基本的功能。由此可见,在较少的资源下实现较为完 备的功能,是研究的难点与重点。 1 3 2 国内相关领域研究现状 嵌入式文件系统在国内的应用其实极为广泛,很多设备都离不开它,比 如m p 3 、m p 4 、p d a 、手机等等。但长期以来,国内的嵌入式文件系统的研 ,究与成果大多碍于商业原因,而并不开源。但也正是这种商业化的需求,使 得国内对此方面的研究亦较为深入,因为研发者不会单纯地对现有方案进行 移植,而要对具体技术进行掌握,这样才更利于产品的研发与改进。而且, 现有的方案不一定可以满足实现产品中的各种需求,所以很多情况下,嵌入 式文件系统都需要自主开发,为产品而定制。国内也有几种较为优秀的嵌入 式文件系统方案,如下: 中国南京沁恒( w c h ) 公司的“文件级子程序库 【7 】:沁恒公司为其u s b 主机芯片c h 3 7 x 系列提供了完备的文件级子程序库,从而可以方便地对u s b 哈尔滨t 程大学硕士学何论文 存储设各进行各种文件级操作。但是它的底层驱动的实现是依赖于c h 3 7 x 系列芯片。在2 0 0 9 年初,该公司还成功研制出了专用的文件系统芯片c h 3 7 6 , 它将文件系统直接嵌入到芯片中,这意味着该文件系统方案进一步进行了商 业化。 z l g f s :z l g f s 是广州周立功微控制器发展有限公司面向嵌入式系统 开发的小型文件系统。它是与f a t l 2 1 6 3 2 高度兼容的文件系统,可以直接 与p c 交换文件。它是可移植的、可固化的文件系统,可以用于前后台系统, 也可用于多任务环境。但是它的效率并不理想,要进行工程应用尚需改进。 1 3 3 嵌入式文件系统存在的问题和发展方向 嵌入式文件系统经过国内外多年的研究与改进,已经日趋完善,步入了 商业化与工程化的阶段。但仍然存在着一些问题,这些问题在某种程度表现 为一些共性: ( 1 ) 对硬件的依赖性【8 】较强。大多数的嵌入式文件系统都面向于硬件资 源较为丰富的中高端c p u ,对于内存、速度等方面要求较为苛刻。比如f a t f s 的官方例程是基于a v r 的,这种c p u 速度较快,r a m 也较大。很多研究者 与使用者,将它移植到a r m t 9 1 、d s p 上进行使用,感觉比较容易,但要向 8 0 5 l 、p i c 这些较为低端的c p u 移植时往往遇到不可避免的困难。因此,对 硬件的依赖性是嵌入式文件系统应用及发展的重要因素。 ( 2 ) 移植接口【l o 】较为复杂。一些优秀的嵌入式文件系统为了追求功能 上的完备、性能上的优越,将用于移植的接口设计得较为复杂,使研究者与 使用者感到较为抽象。必须要在仔细阅读相关文档,及对移植接口进行深入 的研究后才能够真正成功的进行移植。因此,是否易于移植,接口是否简单 易用,也是嵌入式文件系统能够得到广泛应用,得到使用者拥护和肯定的又 一重要因素。 ( 3 ) 方案的代码规模较大,缺乏相关技术支持。国内外大多数的嵌入式 文件系统方案虽然开放源码,但其规模都比较大。对于研究者来说,能够了 解方案的内部实现是很有意义的,这对于构建自己的文件系统方案,及对其 进行改进很有帮助。但是,这些现有的方案均没有详细的文档说明及其实现 方法,也没有相关的著作来专门讲述。所以这就对研究及应用造成了很大的 4 哈尔滨丁程了j 学硕十学位论文 困难,现有方案研究者的研发经验将不能在其它研究者身上得到沿袭。因此, 对文件系统进行研究,构建相应的方案,使研究成果为更多人享用,就必须 有详细的技术描述。这也是本论文的重要内容。 综上所述,所有问题都是构建嵌入式文件系统亟待解决的,同时也是其 今后发展的方向。 1 4 论文的主要工作 本文中所说的嵌入式文件系统是一种面向实际工程应用,并且技术新颖 的方案设计。本文主要包括以下几点: ( 1 ) 对当前最为主流的f a t 3 2 文件系统的结构及实现机制进行分析和 说明。 ( 2 ) 对嵌入式应用中文件系统的主要功能与特性进行说明。 ( 3 ) 对嵌入式文件系统所涉及的主要技术进行说明,并对其实现思路与 方法进行阐述。 ( 4 ) 对所实现的嵌入文件系统方案进行验证与测试,对验证测试方案进 行设计。 ( 5 ) 结合几个真实的工程应用实例,对此嵌入文件系统方案在实际工程 中的应用情况进行介绍和分析。 1 5 论文的组织结构 本文主要对嵌入式文件系统的相关技术和构建方法进行论述。第2 章对 当前流行的f a t 3 2 文件系统进行简要的介绍,由此阐明嵌入式文件系统所包 括的主要内容,及其具备功能与特性。第3 章对系统进行设计与实现,首先 在整体层面上对设计方法进行阐述,随后是对系统中各个部分相关技术的详 细说明,并给出实现的方法。第4 章对系统进行验证测试,涉及验证方案的 设计与测试实验结果的分析。第5 章对此方案的几个实际工程应用进行介绍。 哈尔滨t 程大学硕十学何论文 第2 章嵌入式文件系统的构建思想 2 1f a t 3 2 文件系统概述 f a t 3 2 文件系统的核心思想起源于d o s 时代。最初的d o s 系统开发者 设计一个表来指示扇区与文件的从属关系,以及其它相关的信息,这样操作 系统可以最大限度地利用磁盘空间,使文件可以存储在不连续的扇区上。这 就是最早被投入使用的存储设备管理方案,这个表就是f a t i l ,文件分配表。 随着存储技术的不断发展,存储设备的容量也在与日俱增。早期的f a t 文件系统已经无法再满足实际的需求,需要有更好、更高效的文件系统方案。 于是,f a t l 6 f a t 3 2 文件系统应运而生。 从计算机长期的发展过程中,可以看到,虽然计算机的硬件不断升级, 操作系统也在不断的发展,但始终以来,f a t 文件系统的核心思想从未被淘 汰,并一直体现着它的优势。f a t 3 2 是在f a t 文件系统不断的发展壮大的过 程中,而形成的终级版本。它是f a t 文件系统核心思想的集中体现,是一种 极为成功的文件系统的典范。 2 1 1 汀3 2 的整体结构 f a t 3 2 文件系统依照其协议,有其自身独特的结构。要构建一个与其兼 容的、优秀的嵌入式文件系统,对f a t 3 2 文件整体结构进行全面而深入的了 解是极为必要和重要的。f a t 3 2 文件系统主要包括几个部分:m b r 、 d b r ( b p b l 、f a t 、f d t t l l 】。这些部分有机地进行组合,起着各自的作用, 共同实现对文件目录及数据的管理。f a t 3 2 文件系统的整体结构,如图2 1 。 m b r ( 主引导记录) d b r ( b p b ) d o s 引导记录b o i s 参数块 f a t ( 文件分配衰) f d t ( 文件目录项) 及觳据 图2 1f a t 3 2 文件系统的整体结构 6 哈尔滨t 程大学硕十学位论文 上面看到的是f a t 3 2 的主要功能部分,各个部分之间存在非常紧密的联 系,其内部则存在较为复杂的定义。以下对这些功能部分进行简要的介绍: 1 、m b r 用以记录分区的相关信息,由它来指示d b r 扇区的位置。 2 、d b r 中的b p b 中,记录了与文件系统相关的重要参数,通过这些参 数我们可以找到f a t 、f d t 与文件数据的准确位置。 3 、f a t 是f a t 3 2 文件系统的核心,它记录了数据之间的链式关系,它 使得数据的存储更为灵活,对磁盘的管理更为高效。 4 、f d t 用来记录文件与目录的相关信息,由它我们可以知道目录与文 件的时间与开始位置,数据的长度等等。 2 1 2f a t 3 2 的核心机制 f a t 3 2 文件系统的思想从出现至今,被一直沿用并被不断改进,是因为 其对文件及数据的管理机制较为优越,能够真正有效而且高效的完成文件管 理的任务。f a t 3 2 的核心机制在于其数据之间的链式结构【1 】。它使得数据之 间可以是不连续的,其引入的f a t 的概念是文件管理策略中的优秀思想。数 据单元之间的链式关系,如图2 2 。 图2 2 数据单元之间的链式关系 2 2 嵌入式应用中文件系统的功能及特性 在嵌入式应用场合中,文件系统在发挥其基本作用之余,即文件及数据 的管理,还有着其特有的特性。由于不同的应用需求,决定其在功能上要进 行一定的扩展。以下是嵌入式文件系统要实现的功能与特性。 哈尔滨丁挥大学硕十学何论文 2 2 1 存储设备驱动接口 嵌入式文件系统通常要对多种不同的存储设备进行管理。因此一种良好 而易用的存储设备驱动接口将有利于此方案的广泛应用,使其更为通用。存 储设备驱动接口【1 3 】是嵌入式文件系统的物理层,负责向上层的功能部分提供 数据扇区读写服务,一切的上层应用接口均基于此。因此,一种易于与存储 设备驱动进行接驳,并且稳定、可靠、灵活的存储设备驱动接口是非常重要 的。嵌入式文件系统中的存储设备驱动接口,如图2 3 。 动接口 存储设备驱动 i _ j 图2 3 嵌入式文件系统中的存储设备驱动接口 不同的存储设备其工作原理也不尽相同,因此,驱动方式也会有差异, 甚至大相径庭。文件系统的存储设备驱动接口,将存储设备的这些差异进行 了屏蔽。对于文件系统来说,存储设备都是被顺序编址的存储单元的集合, 这样可以使得驱动程序规范化,方便与文件系统进行接口。 2 2 2 实现各种文件级操作 嵌入式文件系统最终目的是为了在嵌入式应用中对存储设备上的文件 及数据进行各种操作。因此,对其进行构建,大部分的任务和工作是对具体 功能的实现。具体功能的提出源自于实际的应用需求与能够被预见到的功能 扩展,也就是潜在的需求。 , , 哈尔滨t 程大学硕十学位论文 2 2 2 1 基本操作 在各种文件级操作中有一些功能是必须要具备的,是一个嵌入式文件系 统所必须完成的。比如打开文件、读取数据、创建文件等等。这些基本的操 作用以构建嵌入式文件系统的主体。嵌入式文件系统中的基本操作,如表2 1 。 表2 1嵌入式文件系统中的基本操作 操作说明 文件系统初始化 获取文件系统的重要参数 打开文件获得文件的相关信息 读取数据读取文件任意位置长度的数据 创建文件在特定目录下进行文件创建 写入数据向文件添加数据 创建目录对给定的多级目录进行创建 关闭文件释放存储文件信息的内存 具有了这些基本操作,此方案的功能便较为完备,可满足一般应用需求。 2 2 2 2 扩展操作 随着文件应用需求的增多,基本的操作可能己不能满足某些应用场合的 要求。因此,需要在此基础上对功能进行扩展,引入更多的新概念、新方法, 以实现创新型的、更强大的功能。 现阶段能够预见的一种扩展为多设备【14 1 ,所谓的多设备也就是一个嵌入 式文件系统方案可以对多种不同的存储设备进行操作,可以进行跨越设备的 数据的拷贝、传输等操作。具体的操作示意图,如图2 4 。 图2 4 具体的操作示意图 另一种扩展是数据的重定向功能。传统的嵌入式文件系统中的读取数据 9 哈尔滨t 程大学硕十学佗论文 功能,基本上都是将数据读取后放入缓冲区,随后对其进行处理。但是鉴于 一些低端的c p ur a m 资源非常有限,使得获取较大的缓冲区来装载数据, 可能比较困难,甚至不可能。所以需要一种跳过缓冲区,而在数据与数据处 理之间直接建立通道的方法,数据的重定向功能是一种很好的解决方案。 2 2 3 可移植性 嵌入式文件系统与p c 上的通用文件系统最大的不同之处在于它要按照 实际的需求运行在不同的c p u 上。由于各种嵌入式c p u 的结构和片内资源 均不相同,这就要求嵌入式文件系统应具备较强的可移植性【l5 1 。这主要体现 在这几个方面:硬件依赖性、可裁减性与编译无关性。 2 2 3 1 硬件依赖性 硬件依赖性是构建嵌入式文件系统的一个重要指标。一个优秀的设计可 以运行在硬件资源较为贫乏的c p u 上。这要求系统整体规模上要精简,而又 不损失功能的完备性,另一方面要保证高效性,即性能上要较为优越。设计 的目标是使其在低端的c p u 上可以应用,并能够满足应用的需求,而在较高 端的c p u 上能够更进一步的发挥其性能上的优势。 2 2 3 2 可裁减性 可裁减性【1 6 】是指在一些特定的应用场合中,只会用到嵌入式文件系统中 的部分功能,则可将不用的功能进行删减,从而进一步减少对硬件资源的开 销。可裁减性这一概念在很多系统都有涉及,并发挥很大的作用。若在构建 嵌入式文件系统的过程对其可裁减性进行增强,将极大地方便实际的应用。 2 2 3 3 编译无关性 编译无关性【1 7 】,即编译器无关性,同样是嵌入式文件系统中一个非常重 要的指标。在实际的应用过程,针对于不同类型的c p u ,所采用编译器亦尔 相同。编译器基于不同c p u 的不同结构或架构,编译策略上会有很大不同, 同一个方案经过不同的编译器编译后可能大相径庭。主要是由于代码中的一 些歧议语句【 】所造成的,因此要使构建出来的嵌入式文件系统能够适用于各 种c p u ,就要增强其编译无关性,以防止在编译过程中出现莫名的错误。 1 0 哈尔滨一r 稗大学硕十学何论文 2 3 本章小结 本章主要对当前流行的典型文件系统f a t 3 2 的整体结构及核心机制进行 了说明。阐述了文件系统在嵌入式应用中所具有的特性,并对要实现的各种 功能进行介绍。深入的了解现有文件系统的运行原理对我们构建嵌入文件系 统是极为重要的,而了解了嵌入式文件系统的特点及功能需求,将使研究工 作的目的更为明确。 哈尔滨t 稗大学硕十学位论文 第3 章系统的设计与实现 3 1 嵌入式文件系统的层次化设计 对于规模较为庞大,细节较为繁杂的系统,层次化【l8 】是一种较好的设计 模式。它将整个系统首先分为若干功能相对独立的部分,再对各个部分进行 较为深入的研究与实现,最终将它们进行整合,使整个系统得以实现。这样 不光可以让研究者在某个时间内专注于系统的某一个部分,也使得最终的实 现脉络清晰,层次分明。系统的层次化设计,如图3 1 。 层次4 层次3 层次1 层次。 图3 1 系统的层次化设计 系统层次化设计的过程中,多个层次虽然功能相对独立,但它们之间存 在着自下向上的依赖性。下层将向上层提供服务,最终最上层向使用者提供 系统级的应用服务。 嵌入式文件系统正是这样一个系统,它的整体设计规模较大,涉及的细 节较为庞杂,因此对它的研究与实现,采用层次化的设计方法将是最为合理 的,这也会使研究者在研究的过程中事半功倍。嵌入式文件系统的层次化设 计,如图3 2 。 外部应用层 内部函数层 存储设备驱动层 图3 2 嵌入式文件系统的层次化设计 哈尔滨t 程大学硕十学仲论文 i t 3 2 抽象设备驱动接口设计与实现 3 2 1 抽象设备驱动接口的设计 抽象设备驱动接口属于存储设备驱动层【1 9 】,它位于整体设计的最底层, 用来与物理存储设备驱动进行接驳,从而更新或获取存储设备扇区中的数据。 这一接口的设计初衷是为了让嵌入式文件系统方案更加通用。这一接口的设 计是否合理易用,是此嵌入式文件系统方案能否得到承认与发展的重要因素。 存储设备多种多样,其接口与内部结构各不相同,如需使此方案适用于 所有的存储设备,就要将它们的同性进行抽象,即存储设备的硬件无关性。 通过研究,存储设备的共性在于它们的基本操作:扇区读写。存储设备的共 性,如图3 3 。 扇区读写驱动 图3 3 存储设备的共性 嵌入式文件系统方案在底层开放抽象设备驱动接口,使得只要实现了存 储设备的基本操作,就可以立即接入本方案,实现文件级操作,大大的提高 了方案的通用性。这一抽象设备驱动接口要遵循一定的标准形式,这就要求 存储设备驱动也要进行标准化,才可以与本方案进行成功接驳。 3 2 2 抽象设备驱动接口的实现 抽象设备驱动接口借助于一个形式化的空函数,针对于所使用的存储设 备,对其进行具体的实现。抽象设备驱动接口函数,如图3 4 。 f a t 3 2 r e a d s e c t o r ( f a t 3 2 w r i t e s e c t o r ( 图3 4 抽象设备驱动接口函数 1 3 哈尔滨t 程大学硕十学位论文 具体的设备驱动函数在形式上也要满足一定的规范,以方便抽象设备驱 动接口对其进行调用。抽象设备驱动接口与存储设备驱动的接驳,如图3 5 。 嵌入文件系统的抽象 存储设备接口 存储设备 图3 5 抽象设备驱动接口与存储设备驱动的接驳 3 3 关键参数获取部分的设计与实现 3 3 1 关键参数获取部分的设计 所谓的关键参数是构建嵌入式文件系统所必须的一个参数集合,比如 d b r 的位置、扇区大d 、簇大小等等。这些参数基本均从d b r t l o 】的b p b 中 提取。b p b 中的参数非常繁杂,因此需要对较为关键的参数进行筛选。b p b 的参数定义,如图3 6 。 吣r o 一一1 _ 工工。一一寥一 1 咖i :i 匕一 :硅 一 ,强l科z i i ! j f 。l t l 1 i 图3 6 b p b 的参数定义 1 4 哈尔滨t 稗大学硕十学传论文 要从这些参数中提取最为关键、必需的参数,需要对文件系统整体进行 统筹的分析研究。经过长期大量的研究,提取出来的关键参数如表3 1 所示: 表3 1b p b 中的关键参数 参数名说明 b y t e s p e r s e c t o r 每扇区的字节数 s e c t o r s p e r c l u s t每簇

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论