




已阅读5页,还剩62页未读, 继续免费阅读
(计算机应用技术专业论文)基于μcosⅡ的嵌入式文件系统研究与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
哈尔滨理工大学t 学硕士学位论文 基于i ,t c o s i i 的嵌入式文件系统研究与设计 摘要 随着嵌入式技术的发展,外部硬件设备的价格逐渐下降,嵌入式系统存储 能力迅速提高,应用中出现了越来越复杂的数据资源需要管理。如何有效地管 理数据成为嵌入式系统开发中的重要问题。作为嵌入式实时操作系统的组件, 嵌入式文件系统提供专业的数据存取和外部设备管理功能,同时还可以对其它 应用软件的开发起到支撑和促进作用。 本课题以嵌入式实时操作系统p c o s i i 为操作系统内核构建嵌入式文件系 统。本文首先研究了嵌入式文件系统的基本理论及发展现状,分析比较了目前 几种流行的文件格式。针对论文的设计目标选择了f a t 文件格式,详细地分析 了f a t 文件格式规范。阐述了常用存储设备及基于f l a s h 存储的关键技术。论文 还介绍了文件系统实现所依赖的软件平邰c o s i i 以及硬件平台e v 4 4 b o i i ,详 细阐述y p c o s i i 的移植方法。 其次,本文分别从文件管理层、设备驱动层和应用程序接口层三方面设计 结构和操作。改进了f a t 表的存储机制,使之更适用于f l a s h 存储器。同时,由 于嵌入式存储设备n a n df l a s h 的硬件特殊性,增加坏块管理和均衡擦除来降低 f l a s h 磨损。实现了应用程序接口层函数。 最后,选择了合适的软硬件环境对嵌入式文件系统进行测试。测试结果表 明,嵌入式文件系统为用户提供了一套标准的应用程序接口,实现了其基本功 能。 关键词嵌入式系统;i 且c o s i i ;文件系统;闪速存储器 哈尔滨理t 大学下学硕士学位论文 r e s e a r c ha n d d e s i g no fe m b e d d e df i l es y s t e m b a s e do np c o s i i a b s t r a c t w i t ht h ed e v e l o p m e n to ft h e 锄b e d d e dt e c h n o l o g y , t h ec o s to fe x t e r n a ls t o r a g e e q u i p m e n td e s c e n d sg r a d u a l l ya n di n c r e a s i n g l yc o m p o u n dd a t ar e s o u r c ef o r a p p l i c a t i o nc a l l sf o rm a n a g e m e n t s oh o wt om a n a g ed a t aa n df a c i l i t i e sh a sb e e na s i g n i f i c a n tp r o b l e mi nt h ed e v e l o p m e n to f 锄b e d d e ds y s t e m a sac o m p o n e n to f 伽m e d d 。dr e a l t i m eo p e r a t i o ns y s t e m , t h e 朗曲e d d e df i l es y s t e mh a st h ep r o f e s s i o n a l c a p a b i l i t yo fm a n a g e m e n tf o rb o t h d a t aa c c e s sa n de x t e r n a ls t o r a g e w i t ht h e p r i n c i p l eo ft a k i n ga d v a n t a g eo fl i m i t e dr 鹤o u l c ew i t hm a s tc o s t , t h ee m b e d d e df i l e s y s t e mb a s e do nr t c o s - i iw a sf o c u s e di nt h i st h e s i s w i t hp c o s - i ia st h eo p e r a t i n gs y s t e mk e r n e l ,t h ea p p l i c a t i o nt oc o n s t r u c tt h e e m b e d d e df i l es y s t e mi nt h i st h e s i sw a sd e v e l o p e d f i r s t l y , t h eb a s i ct h e o r ya n d c u r r e n td e v e l o p i n gs t a t u so fe m b e d d e df i l es y s t e mw e r ei n v e s t i g a t e d ;t h ec u r r e n t p o p u l a r f i l ef o r m a t sw e r ea n a l y z e di na d d i t i o n t h e nf a tf i l es y s t e mw a se l e c t e df o r d e s i g n i n go b j e c ta n df a tf i l es y s t e mc r i t e r i o nw a ss p e c i f i c a l l yd i s c u s s e d t y p i c a l s t o r a g ee q u i p m e n ta n dk e yt e c h n o l o g yb a s e do nf l a s hs t o r a g ew e r ee l a b e r a t e d a l s o t h ep l a t f o r mi n c l u d i n gs o i 蕾w a r ee m b e d d e dr e a l - t i m eo p e r a t i n gs y s t e ma n dh a r d w a r e e v 4 4 b o - 1 1w e r ei n t r o d u c e d t h e t r a n s p l a n t i n g m e t h o do f p c o s - i i w a s p r e s e n t a t i o n e d s e c o n d l y ,t h es t r u c t u r ea n do p e r a t i o no ff i l em a n a g e m e n tl a y e r , d e v i c ed r i v e l a y e ra n da p p l i c a t i o ni n t e r f a c el a y e rw a sd e s i g n e d i ta p p e a r st h a ts t o r a g em e c h a n i s m f o rf a tt a b l ew a si m p r o v e ds u i t a b l yf o rf l a s hs t o r a g e b e c a u s eo fn a n df l a s h h a r d w a r ep a r t i c u l a r i t y , a l la d d i t i o n a lb a db l o c km a n a g e m e n ta n db a l a n c e de r a s ct o r e d u c ef l a s hw e a l w e r ea d o p t e d t h ea p p l i c a t i o ni n t e r f a c el a y e rf u n c t i o nw a s r e a l i z e d f i n a l l y , w i t hp r o p e rs o f t w a r ea n dh a r d w a r ep l a t f o 咖c h o o s e d ,t h ee m b e d d e df i l e s y s t e mw a sc e r t i f i e da tl a s t b a s e do nt h ee x p e r i m e n t a lr e s u l t i tp r o v e st h a tt h i s - i i 哈尔滨理工大学工学硕 学位论文 e m b e d d 。df i l es y s t e r np r o v i d e das t 锄d a r da p p l i c 撕o ni n t e r f a c cw i l i c hi i n p l c i l t e da l l b a s i c 矗m c t i o n k e y w o r d s e 1 1 曲e d d e ds y s t e m ,p c o s - i i ,f i l es y s t e r n , f l a s hm e m o r y 1 1 1 哈尔滨理工大学硕士学位论文原创性声明 本人郑重声明:此处所提交的硕士学位论文基于t t c o s i i 的嵌入式文件 系统研究与设计,是本人在导师指导下,在哈尔滨理工大学攻读硕士学位期间 独立进行研究工作所取得的成果。据本人所知,论文中除已注明部分外不包含 他人已发表或撰写过的研究成果。对本文研究工作做出贡献的个人和集体,均 已在文中以明确方式注明。本声明的法律结果将完全由本人承担。 作者签名:逛玖玖日期:力唧年参月加日 哈尔滨理工大学硕士学位论文使用授权书 基于t t c o s i i 的嵌入式文件系统研究与设计系本人在哈尔滨理工大学 攻读硕士学位期间在导师指导下完成的硕士学位论文。本论文的研究成果归哈 尔滨理工大学所有,本论文的研究内容不得以其它单位的名义发表。本人完全 了解哈尔滨理工大学关于保存、使用学位论文的规定,同意学校保留并向有关 部门提交论文和电子版本,允许论文被查阅和借阅。本人授权哈尔滨理工大学 可以采用影印、缩印或其他复制手段保存论文,可以公布论文的全部或部分内 容。 本学位论文属于 保密口,在年解密后适用授权书。 不保密匦 ( 请在以上相应方框内打4 ) 作者签名:壑欢攻 日期:力可年弓月刀同 导师躲季岩隅叩年歹月加日 哈尔滨理t 大学工学硕 学位论文 第1 章绪论 1 1 课题研究背景及意义 课题是以黑龙江省教育厅科学技术研究项目“嵌入式层析成像传感器优化 设计及电容测量研究( 1 1 5 1 1 0 7 8 ) ”为背景进行的基于嵌入式实时操作系统 l l c o s i i 的嵌入式文件系统的研究与设计。 随着信息技术的发展和数字产品的普及,嵌入式系统渗透到人们工作和生 活的各个方面。广泛应用于网络、手持通信设备、国防军事、消费电子和工业 制造等各个领域,嵌入式系统正逐渐走进人们生产生活的方方面面,它已经成 为二十一世纪计算机应用的热点之一。 传统的嵌入式系统由于结构和功能比较简单,需要存储的数据很有限,因 此很少采用完备的文件系统,数据一般直接存放在存储设备中。但随着需求的 增长和技术的发展,智能化成了嵌入式系统的一个主要发展趋势,为了存储和 处理更复杂的数据,智能设备中一般都需要实现一套完整的文件系统。 作为操作系统的一个基本组成部分,文件系统的设计与研究由来已久,但 由于嵌入式系统一般具有资源受限、工作环境多样和稳定性差等特性,传统的 文件系统通常不能直接适用于嵌入式系统。个适用于嵌入式系统的文件系统 一般需要具有较好的可靠性、高运行效率和兼容性,具体体现在诸多方面。首 先,由于嵌入式系统物理上具有不稳定性( 例如便携设备常常使用电池供电,在 使用过程中异常断电是难免的) ,因此嵌入式文件系统必须提供较高的可靠性, 保证在断电、死机这类异常情况发生时可以自动恢复正常工作,而不能引起文 件系统结构的损坏。其次,考虑到成本和功耗等方面,嵌入式系统的运算能力 和内存资源等一般比较有限,但其应用范围又决定了它们往往具有比较高的实 时性要求,因此,嵌入式文件系统需要在资源受限的情况下保证良好的运行效 率。最后,嵌入式系统特别是数字娱乐设备( 如数码相机、m p 3 播放器等) 经常需 要与p c 机交换数据,因此嵌入式文件系统最好能够保证与p c 文件系统的兼容 性。 嵌入式文件系统作为实时操作系统的组件,它对内提供高效的逻辑文件系 统管理和保护,对外提供对主流存储介质的支持以及对用户提供统一、标准的 编程接口。将嵌入式操作系统i 上c o s i i 完善成为一个具有实用意义的操作系统 哈尔滨理工大学工学硕 学位论文 还需要进一步的努力,根据具体的应用可以进一步添加其它重要的模块。本文 的意义在于通过在嵌入式操作系统 t c o s i i 实现文件系统来完善这个内核,一 方面可以为其它嵌入式操作系统添加文件系统进行有益的探索,另一方面也为 完善嵌入式操作系统g c o s i i 积累了经验。 1 2 嵌入式文件系统 1 2 1 嵌入式系统现状 嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可 裁剪、适应于应用系统对功能、可靠性、体积、成本、功耗严格要求的专用计 算机系统n 1 。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用 户的应用程序等四个部分组成,用于实现对其它设备的控制、监视或者管理等 功能。与通用型计算机系统相比较,嵌入式系统具有以下特点。 1 面向特定应用嵌入式系统的硬件和软件都必须高效率地设计,量体裁 衣、去除冗余,力争在同样的硅片面积上实现更高的性能。 2 耗低、体积小、集成度高、成本低嵌入式c p u 大多工作在为特定用户 群设计的系统中,能够把通用c p u 中许多由板卡完成的任务集成在芯片内部, 从而有利于嵌入式系统设计趋于小型化。 3 固化在非易失性存储器中的代码为了提高执行速度和系统可靠性,嵌 入式系统中的软件一般都固化在存储器芯片中,而不是存贮于磁盘等载体中。 4 嵌入式系统本身不具备自主开发能力即使设计完成以后用户通常也是 不能对其中的程序功能进行修改的,必须有开发工具和环境才能进行开发乜1 。 从上世纪八十年代起,国际上就有一些i t 组织、公司,开始进行商用嵌入 式系统和专用操作系统的研发,嵌入式系统的发展大致经历了这样几个阶段。 第一阶段以单片机为核心的可编程控制器形成的系统,适用于专业性极强的工 业控制领域,一般不存在操作系统。第二阶段以嵌入式c p u 为基础,以简单操 作系统为核心的系统。第三阶段以嵌入式操作系统为标志的嵌入式系统。这类 操作系统兼容性好,内核精简,效率高,具有高度的模块化和扩展性。具有文 件管理,目录管理,设备支持和用户界面等,并且具有大量的应用程序接口, 应用程序开发简单。第四阶段以基于i n t e r a c t 为标志的嵌入式系统,这是一个当 今正在迅速发展的阶段。随着i n t c r n e t 的发展以及i n t c r n c t 与信息家电、工业控制 技术的日益密切,嵌入式系统与i n t c m e t 的紧密结合将代表着嵌入式系统未来的 哈尔滨理工人学工学硕上学位论文 发展方向。 1 2 2 文件及文件系统现状 文件的含义有狭义和广义之分。狭义地说,文件是有组织有次序地存储于 介质( 包括内存) 的一组信息。广义地说,外部设备也是文件,凡是可以产生或消 耗信息的都是文件b 1 。文件系统是一种系统软件,简单来说,它是操作系统为了 存储和管理数据,而在存储器上建立的一些结构的总和。在文件系统与操作系 统的关系上,有些文件系统位于操作系统内核上,有些作为操作系统的一个服 务组件。“文件系统”在不同的环境中有不同的含义。例如,l i n u x 的e x t 2 、e x t 3 “1 文件系统,d o s 的f a t 文件系统懵1 ,w i n d o w sn t 的n t f s 1 ,文件系统指一种特 定的文件格式。又如常说的“安装一或“拆卸 一个文件系统就是指按指定格 式进行了格式化的一块存储介质。文件系统也可以理解为操作系统中( 通常在内 核中) 用来管理文件系统以及对文件进行操作的机制及其实现。 从系统角度来看,文件系统是对文件存储器的存储空间进行组织、分配和 回收,负责文件的存储、检索、共享和保护。从用户角度来看,文件系统主要 是实现“按名取存一。当用户要求保存已命名的文件时,文件系统根据拟定的 格式把文件存放到存储器适当的地方:当用户要使用文件时,系统根据给出的 文件名,从文件存储器中找到所要的文件。嵌入式文件系统以通用桌面操作系 统的文件系统为基础发展而来,但两种文件系统的应用环境和自身的要求有很 大的不同 1 。 1 2 2 1免费开源的嵌入式文件系统 1 r o m f s t r o mf i l es y s t e m ) r o m f s 阳1 是一种为l i n u x 设计的占用系统资源 比较小的基于块的只读文件系统,它使用块( 或扇区) 访问存储设备驱动。这种文 件系统结构简单,实现容易,常常用在嵌入系统和系统引导时。起初设计它的 目的只是在有启动盘的场合下,提供一个比普通文件系统更加节省空间的文件 系统。 2 j f f s ( j o u r n a l i n gf l a s hf i l es y s t e m ) j f f s 旧1 文件系统是瑞典的a x i s c o m m u n i c a t i o n s 公司发布的自由软件,主要用于嵌入式l i n u x 。它是针对以闪存 为存储介质的嵌入式系统,充分考虑了闪存的物理局限性,使用了高效的日志 文件系统,提供了掉电安全,垃圾回收机制,平均使用特性。它的主要设计思 想是跟踪文件系统的变化而不是文件系统的内容。j f f s 文件系统是一种“追加 式”的文件系统,新的数据总是被追加到上次写入数据的后面。这种“追加式” 哈尔滨理工大学工学硕十学位论文 的结构就自然实现了f l a s h 平均使用。j f f s 2 是基于j f f s 开发的闪存文件系统, 它克服了j f f s 中的一些缺点,使用了基于哈希表的日志节点结构,加快了对节 点的操作速度,支持数据压缩,支持多种节点类型,提高了对闪存的利用率, 降低了对内存的消耗。 3 y a f f s ( y e ta n o t h e rf l a s hf h es y s t e m ) y a f f s n 叫类似于j f f s j f f s 2 , 是专门为n a n df l a s h 存储器设计的嵌入式文件系统,适用于大容量的存储设备。 它是日志结构的文件系统,提供了损耗平衡和掉电保护,可以有效地避免意外 掉电对文件系统一致性和完整性的影响。与j f f s 相比,它减少了一些功能,因 此速度更快,占用内存更少。 4 t f s ( t i n yf h es y s t e m ) t f s 是由原l u c e n t 公司的e d s u t t e r 开发的嵌入式 系统引导平台u m o n 1 的一部分。它是一种线性结构的文件系统,它提供了掉电 安全机制和垃圾回收机制。缺点是文件的插入、剪切和修改等操作需要较大的 运行开销,即使是很小的修改,也要求将整个文件重写。它的垃圾回收机制也 不算太好,需浪费两个扇区,并增加了复杂性。 5 m t d ( m e m o r yt e c h n o l o g yd e - - c om t d 是用于访问m e m o r y 设备 ( r o m ,f l a s h ) 的l i n u x 的子系统。m t d 的主要目的是为了使新的m e m o r y 设备的 驱动更加简单,为此它在硬件和上层之间提供了一个抽象的接口。硬件驱动不 用知道所使用的存储格式是f t l 或j f f s w 引,只需提供简单的读、写、擦除函数。 由系统上层负责存储内容的表示方式。 1 2 2 2 商用的嵌入式文件系统 1 t r u e f f sf o rt o r n a d ot r u e f f s n 3 1 是w 砌r i v e r 公司的t o r n a d o 嵌入开发 环境的一部分,用于仿真硬盘驱动,使d o s 、n f s 等文件系统在其基础上实现。 它能均匀使用f l a s h ,用冗余数据结构保证可靠的数据操作,能排除损坏块以避 免错误,实现t f t l ( f l a s ht r a n s l a t i o nl a y e r ) 标准。 2 t r a n s a c t i o nf f st r a n s a c t i o nf f s 是挪威的t e m p e r oa s 提供的安全文件 系统,建立在f d c 1 ( h a s hd i s cc o n t r o l l e r ) 之上。f d c 为另一个产品,用于仿真 硬盘,位于f a l ( f i l ea b s t r a c t i o nl a y e r ) 之下。应用程序通过f a l 访问文件系统。 t r a n s a c t i o nf f s 使用了事务记录方案,记录修改f d c 块的文件操作。通过使用事 务记录,系统启动时不用整体扫描,节省启动时间。 3 p c f st t c f s n 5 1 即t t c o s 的文件系统,它是m i e r i u m 公司新开发的一个 产品,主要应用在使用p c o s 内核的嵌入式系统中。t t c f s 是一个用于能提供基 础访问功能的f a t 格式文件系统,是一个高效率的库,而且对内存使用进行了 优化。它用a n s ic 语言编写。由不同的层次结构组成,包括a p i 层、文件系统 哈尔滨理t 大学工学硕l 学位论文 层、逻辑区块层、设备驱动和硬件层。 以上几种嵌入式文件系统是现在嵌入式文件系统的主流,但是由于其各自 个特性不适用于本论文。r o m f s 多用于小容量闪存设备,系统功能简单,仅提 供基本的接口,但它们都属于只读的文件系统。j f f s j f f s 2 、y a f f s 文件系统 不与桌面文件系统兼容。p c f s 属于拥有知识产权的技术,是商业产品。源代码 和核心技术不公开使其不适于开发研究。 1 3 论文研究内容 由于p c o s 1 1 只是一个实时内核,并不是一个完整的嵌入式操作系统,作 为一个完整的操作系统,为了满足现代社会对嵌入式系统的要求,顺应时代发 展的潮流,还应该提供必要的文件系统、内存管理单元、t c p 口网络协议栈、 图形界面接口等功能,而这些功能模块都应该能和g c o s i i 的其它内核组成部 分一样,是结构化、模块化并可以无损的裁减或者添加的。限于篇幅和能力。 本文的研究内容着重于讨论在p c o s i i 中引入文件系统。具体工作如下。 研究比较三种流行的文件系统格式,考虑到需要实现与通用桌面系统的兼 容性来选取文件格式。然后选取合适的嵌入式操作操作系统,详细阐述了 l c o s i i 的移植方法。根据闪速存储器的特点,研究并设计嵌入式文件系的结 构。针对研究中发现的问题进行改进设计,并从文件管理层、设备驱动层和应 用程序接口层三个层次分别实现。 1 4 论文结构 本文详细讨论了一个嵌入式文件系统的体系结构以及实现细节。本文在组 织上分为五章,各章具体内容简介如下: 第一章介绍了课题来源以及嵌入式文件系统的发展现状和动态。 第二章阐述了嵌入式文件格式的特点、功能以及相关概念、实现技术。 第三章叙述了嵌入式实时操作系统g c o s i i 的特点和移植过程。 第四章描述嵌入式文件系统的总体结构设计,并从文件系统的内部结构和 外部结构两个方面设计了体系结构。 第五章首先分层描述嵌入式文件系统的实现细节,包括闪速存储设备的驱 动。然后通过实验验证了嵌入式文件系统的功能,对并测试结果进行评价。 哈尔滨理1 = 大学丁学硕十:学位论文 第2 章嵌入式文件系统技术 2 1文件系统格式的比较 嵌入式文件系统常常借鉴于成熟的通用桌面文件系统。因此,在选择文件 系统的格式之前,对当前比较流行的通用文件系统的格式作一个全面的了解。 目前成熟的文件格式有以下几种。 2 1 1e x t 2 和e x t 3 文件格式 e x t 2 文件系统是l i n u x 系统中标准的文件系统,是专门为l i n u x 设计,拥有较 快的速度和较小的c p u 占有率,其特点为存取文件的性能极好,对于中小型的 文件更显示出优势。其设计功能强大、且易于向下兼容,所以新版的文件系统 代码无需重做已有的文件系统“。 e x t 2 的核心是两个内部数据结构,即超级块( s u p e rb l o c k ) 和索引节点 ( i n e o a e ) 。超级块是一个包含文件系统重要信息的表格,它是对文件系统基础性、 全局性的描述。索引节点是基本的文件级数据结构,文件系统中的每一个文件 都可以在其中一个索引节点找到其描述,文件系统中所有的索引节点保存在索 引节点表中。e x t 2 文件系统中的目录实际是一种特殊文件,它们也有对应的索 引节点,索引节点指向的数据块中包含该目录中索引的目录项,每个目录项对 应自己的索引节点。 e x t 3 是e x t 2 文件系统加上日志支持的下一代版本,它和e x t 2 文件系统在硬盘 布局上是一样的,二者的差别仅仅是e x t 3 文件系统在硬盘上多了一个特殊i n e o d e 用以记录文件系统的日志。 由于e x t 2 和e x t 3 适用于l i n u x 操作系统,本课题设计的是一种更为通用、适 用性更广的文件系统,所以选用w i n d o w s 系统使用的文件格式较为合理。 2 1 2f a t 文件格式 f a t 文件格式是由微软推出的在m s d o s 和w i n d o w s 系统中使用的一种非 线性链表式结构的文件系统。 1 簇的概念的引入f a t 格式的文件系统分配存储器空间是按照“簇来 哈尔滨理t 大学t 学硕士学位论文 分配的,文件占用存储器空间的基本单位不是字节,而是簇。存储器上最小可 寻址存储单元称为扇区n7 1 ,通常每个扇区为5 1 2 个字节。由于多数文件比扇区大 得多,因此如果对一个文件分配最小的存储空间,将使存储器能存储更多数据, 这个最小存储空间即称为。簇”。 通常情况下存储设备上的空间分配是随机的,在一个新存储设备上,文件 是连续存储的,并知道开始和结束扇区的长度,在读取时可以根据这些信息重 新得到所存储的文件。但是,过一段时间后,有些文件将会被擦掉,同时可能 有些文件增大,这时不能保证同一个文件存储在连续的一系列扇区里。因此, 需要一种方法来辨别哪个扇区被分配到某些文件,以及还有哪些扇区可用。这 时可以采用一种表结构来实现这种功能,使每个扇区对应一个表记录。然而, 由于大多数文件存储在多个扇区,个记录对应一个扇区的做法将造成一些浪 费。因此,采用每个记录代表一个固定数量扇区将更有意义,这个固定扇区被 称为簇。 2 f a t 表f a t 表即文件分配表( f i l ea l l o c a t i o nt a b l e ) ,是用以记录簇与文 件对应关系的表结构。f a t 表是f a t 文件系统中的一个重要的数据结构,是f a t 文件系统中用于磁盘数据( 文件) 索引和定位的一种链式结构,它反映磁盘空间当 前的使用情况,是整个文件系统的核心。文件在磁盘的分布情况是以簇链的方 式记录在f a t 中,每个文件都有自己的存储簇,可以是连续的也可以是不连续 的,而f a t 表存储关于簇的信息,记录除文件首簇以外文件使用的所有簇的情 况。值得注意的是,f a t 表项的序号与文件所使用的簇号有一一对应的关系。 3 格式分类操作系统根据表现整个磁盘空间所需要的簇数量来确定使用 多大的f a t ,如果磁盘要求的簇少于4 0 9 6 个,则可以使用1 2 位f a t ;如果小于 6 5 5 3 6 但大于4 0 9 6 个簇,就使用1 6 位f a t ;否则,必须采用3 2 位f a t n 引。表2 1 列出了在给定簇大小和f a t 类型的最大分区。 表2 - 1f a t 位数与簇数量关系表 t a b l e2 - 1r e l a t i o n s h i pb e t w e e nf a tb i ta n dc l u s t e rq u a n t i t y f a t 位数簇数量 1 24 0 9 6 1 66 5 5 3 6 3 24 2 9 4 9 6 7 2 9 6 依据每个簇链在f a t 表中所占的位数f a t 文件系统分为f a t l 2 ,f a t l 6 和 哈尔滨理_ 亡大学工学硕二f ? 学位论文 f a t 3 2 三种格式。f a t l 2 格式是最早的文件系统,它采用1 2 位结构的文件分配 表,主要在d o s 3 0 以前使用。f a t l 2 格式的文件系统最多拥有8 m 的磁盘容量, 扩展最多也只能达到1 6 m ,并且由于文件碎片严重,目前主要用于软盘驱动器, 其它场合基本不再使用f a t l 2 格式的文件系统。 f a t l 6 格式是在d o s 3 0 中推出的新的文件系统。与f a t1 2 格式不同的是, f a t l 6 格式采用了1 6 位字长的分区表,由于字长增j j l l 4 位,可以使用的簇的总数 达到了6 5 5 3 6 。 根据存储设备( 磁盘、闪卡和硬盘) 的容量,簇的大小可以不同,对存储空间 的管理能力相应的也有不同。最初推出的d o s 3 0 下的f a t l 6 文件系统管理磁盘 的能力实际上是3 2 m 。随着硬盘的发展,也推动了文件系统的发展,d o s 4 0 之 后的f a t l 6 可以管理1 2 8 m 的磁盘,随后这个数字不断发展,一直到2 g 。表2 2 列出了簇大小和f a t l6 格式分区最大容量的对应关系。 表2 - 2 簇大小与f a t l 6 格式分区最大容量关系表 t a b l e2 - 2m a x i m u mc a p a c i t yr e l a t i o n s h i pb e “v e e nc l u s t e rs i z ea n df a t16f o r m a t 簇人小( k ) 分区最人容量( m b ) 0 53 2 l6 7 2 1 3 4 4 2 6 8 85 3 6 1 61 0 7 0 3 22 1 4 0 该格式采用3 2 位的文件分配表,存储器管理能力大大增强,突破了f a t l 6 格式2 g b 的分区容量限制,大大方便了对于磁盘的管理。表2 3 列出了不同大小 的簇对应f a t 3 2 格式分区的最大容量。f a t 3 2 格式也有明显的缺点,由于文件 分配表的扩大,运行速度比f a t l 6 要慢。 2 1 3n t f s 文件格式 n t f s 文件格式应用于w i n d o w sn t 操作系统,同时也应用于w i n d o w s 2 0 0 0 x p ,它与f a t 文件格式的主要区别是n t f s 支持元数据( m e t , a d a m ) ,并且可 以利用先进的数据结构提供更好的性能、稳定性和磁盘的利用率引。n t f s 的核 哈尔滨理工大学t 学硕士学位论文 心是主文件表( m f t ) 。m f t 被组织为一个行数可变的表,行称为记录,每一行 描述了该卷中的一个文件或文件夹,包括m f t 自身,m f t 也被看作是一个文件。 m f r 中的每个记录都包含一组属性,用于定义文件( 或文件夹) 的特性和文件内 容。 与f a t 文件格式一样,n t f s 也是以簇为单位来存储数据文件,但是n t f s 中簇的大小并不依赖于磁盘或者分区的大小。n t f s 支持文件加密管理功能,可 以为用户提供较好的安全保证。但是,n t f s 会带来较大的空间开销,该空间开 销的形式为n t f s 系统文件,通常在i o o m b 分区上至少用掉4 m b 的驱动器空间。 因此,n t f s 格式并不适用于文件存储器空间相对不大的嵌入式文件系统,不利 于高效管理文件的存储空间。 表2 - 3 簇大小与f a t 3 2 格式分区最大容量关系表 t a b l e2 - 3m a x i m u mc a p a c i t yr e l a t i o n s h i pb e t w e e nc l u s t e rs i z ea n df a t 3 2f o r m a t 簇人小( k )分区最人容量( g b ) 41 7 5 9 83 5 1 6 1 67 0 3 6 3 21 4 0 7 2 2 嵌入式文件系统的设计技术 2 2 1f a t 文件格式规范 f a t 分区格式是m i c r o s o f t 最早支持的分区格式,它是m s d o s 采用的文件格 式组织形式,它采用索引的连接表分配方法来分配和管理文件系统。虽然其性 能并不是很好,但是它的结构简单,为目前大多数文件系统所支持的格式,所 以应用还是相当广泛测。 f a t 文件结构心如图2 1 。在f a t 文件结构的信息表中比虚拟文件系统文件 信息表多了一项f a ti 节点信息表,它是已打开的f a t 文件或目录在内存中的映 像,包含着该文件或目录的信息。f a t 信息表是f a t 文件格式的统一信息,主 要包括b p b ( b i o sp a r a m e t e rb l o c k ) 、f a t 分配表和目录表,它们是组织和管理 f a t 格式文件系统的基础。f a t 系统调用函数通过访问文件信息表来访问f a t 信息表来完成调用。 哈尔滨理工大学工学硕十学位论文 图2 - 1f a t 文件格式结构 f i g 2 - 1f a tf i l ef o r m a ts t r u c t u r e 每个f a t 文件系统由4 部分组成,这些基本区域分别是:保留区( r e s e r v e d r e g i o n ) 、f a t 区( f a tr e g i o n ) 、根目录区( r o o td i r e c t o r yr e g i o n ) 和文件和目录数 据区( f i l ea n dd i r e c t o r yd a t ar e g i o n ) 。 1 保留区它是f a t 文件系统中第一个重要的数据结构,它位于该f a t 卷 的第一个扇区,同时也属于f a t 文件格式基本区域的启动扇区与b p b ( b i o s p a r a m e t e rb l o c k ) 2 f a t 区f a t ( f i l ea l l o c a t i o nt a b l e ) 区只反映磁盘空间当前的使用情况, 它包含有两张f a t 表,它是一一对应于数据区簇号的列表。由于f a t 表对于文 件管理的重要性,所以f a t 表有一个备份,即在原f a t 表的后面再建一个同样 的f a t 表。 文件系统通过分配存储块给文件包含的所有数据来存储文件。文件系统分 配磁盘空间是按簇来分配的。因此,文件占用磁盘空间时,基本单位不是字节 而是簇,即使某个文件只有一个字节,操作系统也会给它分配一个最小单元一 即一个簇。通常情况下,每扇区5 1 2 字节的原则是不变的。簇的大小一般是2 n ( n 为整数) 个扇区的大小,像5 1 2 b ,1 k ,2 k ,4 k ,8 k ,实际中通常不超过3 2 k 。 之所以用簇为单位而不用扇区为单位进行磁盘的分配,是因为当分区容量较大 时,采用大小为5 1 2 字节的扇区管理会增加f a t 表的项数,对大文件存取增加消 耗,文件系统效率不高。 对于大文件,需要分配多个簇。同一个文件的数据并不一定完整地存放在 磁盘中一个连续的区域内,而往往会分成若干段,像链子一样存放。这种存储 哈尔滨理t 大学工学硕士学位论文 方式称为文件的链式存储。为了实现文件的链式存储,文件系统必须准确地记 录哪些簇已经被文件占用,还必须为每个已经占用的簇指明存储后继内容的下 一个簇的簇号,对文件的最后一簇,则要指明本簇无后继簇。这些都是由f a t 表来保存的,f a t 表的对应表项中记录着它所代表的簇的有关信息:诸如是否 为空,是否是坏簇,是否已经是某个文件的尾簇等。f a t 的项数与硬盘上的总 簇数相关,因为每一个项要代表一个簇,簇越多当然需要的f a t 表项越多。表 2 _ 4 记录了f a t 各种类型的f a t 表各记录值的取值含义。 表2 4f a t 表各记录值的取值含义 t a b l e2 - 4m e a n i n g so fe v e r yr e c o r dv a l u ei nf a t f a t l 2 记录项的取值f a t l 6 记录项的取值f j 1 r 3 2 记录项的取值对应簇的表现情况 0 0 0 00 0 0 00 ( ) o o o 0 0 0 未分配的簇 0 0 2 一f e f0 0 0 2 f f e f0 0 ( ) 0 0 0 0 2 f l ? f f f f e f 己分配的簇 f f 0 f f 6f f f 0 f f f 6f f f f f f f 0 f f f f f f f 6 系统保留 f f 7f f f 7f f f f f f f 7 坏簇 f f 8 f f ff f f 8 f f f ff i 下f 1 下f 8 f f f f f f f f 文件结束簇 3 根目录区根目录区又称为文件目录表( f i l ed i r e c t o r yt a b l e ) ,它紧跟 f a t 2 之后,存放的根目录大小通常占3 2 个扇区,共5 1 2 项,每项3 2 字节。在表 2 5 中记录了f a t l 6 的目录项中3 2 个字节的表示含义。 对于f a t 3 2 ,没有根目录区,但是其根目录存于数据区,这样根目录便没 有了f a t l 6 中5 1 2 个目录项的限制,不够用的时候增加簇链,分配空簇即可。而 且,根目录的位置也不再硬性地固定了,可以存储在分区内可寻址的任意簇内, 不过通常根目录是最早建立的( 格式化就生成了) 目录表。所以,基本上都是根目 录首簇占簇区顺序上的第1 个簇。 f a t 文件系统的目录结构其实是一颗有向的从根到叶的树,这里提到的有 向是指对于f a t 分区内的任文件( 包括文件夹) ,均需从根目录寻址来找到。可 以认为目录存储结构的入口就是根目录。 4 文件和目录数据区真正意义上的数据从此区开始,以簇编号,顺序上 第1 个簇编号为第2 簇,f a t 3 2 通常为根目录所用:f a t l 6 文件系统从根目录所 占的3 2 个扇区之后的第一个扇区开始以簇为单位进行数据的处理,这之前仍以 扇区为单位。 f a t 文件格式的一个重要思想是把目录当作一个特殊的文件来处理, 哈尔滨理t 大学工学硕- 上学位论文 f a t 3 2 甚至将根目录当作文件处理。在f a t l 6 中,虽然根目录地位并不等同于 普通的文件或者说是目录,但其组织形式和普通的目录并没有不同。f a t 分区 中所有的文件夹( 目录) 文件,实际上可以看作是一个存放其它文件( 文件夹) 入口 参数的数据表。所以目录的占用空间的大小并不等同于其下所有数据的大小, 但也不等同于0 。通常是占很小的空间的,可以看作目录文件是一个简单的二维 表文件。 表2 5f a t l 6 目录项3 2 个字节的表示含义 t a b l e2 - 5m e a n i n g so f 3 2b y t e si nf a t16d i r e c t o r ye n t r y 字节( 1 6 进制) 字节数定义 0 x 0 o x 78 文件名 0 x 8 4 ) x a3 扩展名 o ( ) 0 0 0 0 0 0 属0 c 1 0 | d 0 0 0 l 性 0 c 1 0 0 0 0 l o 0 x bl字0 ( ) 0 0 0 1 0 0 节 o o 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 x c - 0 x 1 51 0 系统保留 0 x 1 6 娘1 72 文件的最近修改时间 0 x 1 8 躯1 92 文件的最近修改日期 0 x l a - o x l b 2 表示文件的首簇号 0 x l c 躯1 f4 表示文件的长度 5 f a t 表的基本思想f a t 的基本思想是以簇链记录文件,在f a t 表里记 录就是文件的簇链陇1 。如图2 2 所示,以文件a t x t 为例。首先根据文件名在目录 表找到相应的目录项,根据目录项记录的簇号1 2 ( 此簇是文件a t x t 的首簇号) 。在 f a t 表找到1 2 号簇的位置,其值1 3 为下一个簇的簇号,1 3 的下一个簇是2 0 ,2 0 是最后一个簇,其内有记录尾簇的标志。通过f a t 表,查找到文件a t x t 在数据区 所占的簇为1 2 ,1 3 ,2 0 ,根据文件长度( 在目录项里记录) 确定文件尾。 哈尔滨理工大学工学硕士学位论文 2 2 2 常用的存储设备 图2 - 2f a t 基本思想 f i g 2 - 2b a s i ct h o u g h to ff a t 文件系统对于存储介质的管理,是属于块管理层范畴的一系列操作。也是 建立文件系统的基础。嵌入式系统一般不使用硬盘或者软盘作为存储设备,大 部分嵌入式系统使用f l a s h 存储器、i d e 、r a m 盘来存放数据和代码。因此,在 这些存储器上
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 我对环境保护的看法议论文(8篇)
- 2025年传媒行业直播电商合规能力考核试卷-消费者退换货权益保护与售后流程合规专项
- 2025年农业行业农田水利工程数字化设计水平考核试卷
- 2025年碳排放权交易小额贷款行业低碳转型实务考核试卷
- 强化训练苏科版八年级物理下册《物质的物理属性》专项训练试题(解析卷)
- 解析卷人教版八年级物理上册第5章透镜及其应用-透镜同步测评练习题(含答案详解)
- 解析卷-人教版八年级上册物理《物态变化》同步测试试卷(解析版含答案)
- 2025年乡村零售场景构建实体零售升级能力考核试卷
- 难点解析-人教版八年级物理上册第4章光现象定向训练试题(含解析)
- 考点解析人教版八年级上册物理《物态变化》定向练习试卷(解析版含答案)
- 交警大队保密管理制度
- 医院老年医学科管理制度
- 非法吸收公众存款罪60课件
- (高清版)DB1303∕T 345-2022 公路工程施工安全技术资料编制指南
- 少数民族语言文化保护与数字化转型-洞察阐释
- 合伙养猪合同协议书
- 商城平台搭建合同协议
- 短视频在教育中的创新应用及发展前景
- 《复杂系统理论》课件
- 2025年个人参加巡察工作总结心得(二篇)
- 汽车维修配件供货及售后服务方案
评论
0/150
提交评论