已阅读5页,还剩56页未读, 继续免费阅读
(电路与系统专业论文)基于日志结构的嵌入式文件系统研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
硕士学位论文 m a s t e r st h e s i s 中文摘要 文件系统作为操作系统的重要组成部分,决定了操作系统本身信息和用户数据 在存储设备上的组织形式。随着嵌入式系统的发展,越来越多的嵌入式系统需要处 理大量的数据,使用文件系统将是嵌入式系统应用的一个必然趋势。目前,大多数 嵌入式系统使用f l a s h 来存放代码和数据,在f 1 a s h 上建立文件系统存在安全性和 负载均衡等问题。日志结构文件系统采用记日志的方法来解决安全性问题,并能实 现f l a s h 的负载均衡。因此,日志结构文件系统适合于在f l a s h 设备中应用。 本文在介绍常用文件系统的基础上,分析了r o m f s 、c r a 肛s 、u c f s 、r f s 、 j f f s j f s s 2 等嵌入式文件系统的特点,并着重介绍和分析了适合于n a n df 1 a s h 的 嵌入式文件系统y a f f s ,包括l i n u xm t d 的支持、芯片物理块的管理、文件组织与 目录结构、芯片内文件系统的数据结构、文件系统在内存中的组织方式、失效块 的检测和纠错算法、函数接口、日志功能的实现、坏块管理、垃圾收集机制等。 本文详细讨论了y a f f s 文件系统在嵌入式l i n u x 上的移植。把y a f f s 编译进 l i n u x 内核,让内核支持y a f f s 文件系统。然后制作y a f f s 格式的根文件系统,通 过b o o t l o a d e r 下载内核和根文件系统到n a n df l a s h ,让内核从n a n df l a s h 启动。 并总结了移植过程需要注意的问题。 y a f f s 充分考虑和发挥n a n df 1 a s h 的特点,结合日志功能,具有可读写、占用 资源少、启动速度快、数据恢复快等优良特性。而且y a f f s 作为开放源代码的项目, 将会在嵌入式产品中得到越来越广泛的应用。 关键词:嵌入式系统;文件系统;n a n df l a s h :y a f f s ;嵌入式l i n u x 硕士学住论文 m a s t e r st h e s i s a b s t r a c t a s 柚i m p o n a n tc o m p o n e n to ft h eo p e r a t i n gs y s t e m ,f i l e s y s t e md e t e 蚰i n e st h e o 玛a l l i z a t i o n a lf o r m so ft h eo p e m t i n gs y s t e mi 血皿a t i o na 1 1 du s e rd a t a i 1 1 s t o r a g e e q u i p m e n t w i t l lt h ed e v e l o p m e n to fe m b e d d e ds y s t e m ,m o r ea n dm o r ee m b e d d e ds y s t e m s h a v et od e a lw i t hag r e a td e a lo fd a t a ,t h c r e f o r e ,t l l eu s eo ff i l e s y s t e mw i l lb ea ni n e v j t a b l e 仃i ;n di ne m b e d d e ds y s t e ma p p l i c a t i o n s f 1 a s hi sw i d e l vu s e da sm e m e o r yi ne m b e d d e d s y s t 锄c b m m o nf i l e s y s t e m s0 nn a s hh a v en a w ,s u c ha ss a f c t y 卸dw e a rl e v e l i n g l o g s t n i c t l l r cf i l e s y s t e mc a j ls o l v e 也e m ,s o ,i ti sm o r c 姐i t e dt ot h ee m b e d d e da p p l i c a t i o n b a s e do ni n t r o d u c i n gs o m ec o m m 叫f i l e s v s t c m s ,p a n i c u l a ra :n a l y s e ss o m ee m b e d d e d f i l e s y s t e m s ,s u c h a s r o m f s ,c m m 豇,u c f s ,r f s j 删位2 a 且dh i 曲l i g h t e d i n 的d u c e s 蛆d a l l a l y s i sy a 凰,s u c h a s s u p p o n o fl j l l u xm d ,m a n a g e m e n to i s h i pp h y s i c a l b l o c k ,o 职a n i z a t i o no ff i l c s 卸dd i r e c t o r vs t n l c t u r e ,d a t as t n j c i u r eo ff i l e s y s t e mi n c h i p ,o r g a j z a t i o no ff i l e s y s t 唧i r a m , d e t e c t i o no fi n v a l i db l o d 【a n da l g o r i t h mo f e n d rc o i r e c t i o n ,y a 如f i l c t i o n si n t e r f a c e s ,r e a l i z a t i o no fl o gf u n c t i o n s ,m a 矾g c m c n to f b e db l o c k s ,;a r b a g ec 0 u e c t i o n t h et h e s i sd e t a i l e dd i s c u s s e st h et r a i i s p l 柚to fy a f f si ne m b c d d e dl _ m l l x b u i l d s l i i l u xk e m e l sw i t h ”f f s ,p r o d u c e sar o o tf i l e s y s 协mw i t hy a f i sf 0 珊a t ,d o w n l o a d s 童h e k e m e l sa n dm o t6 l e s y s t e mt om en a n dn a s hv i ab 0 0 o a d e r ( v i v 幻,t l l e nb 0 0 t st i l el i n u x k n e d 呻mn an dn a s h a n dd i s c u s s e ss o m ei s s u e si nt r a n s d l a i l t i o 心f sc o n s i d e ra n de x e nt h ec h a r a c t e r i s t i c so fn a n d f 1 a s h ,a dw i t hl o gf u n c t i o n i ts h o ws o m e 矗n ec h a m c t e r i s t i c s ,s u c ha sr e a d a b l e 壮dw i n e a b l e ,l o wr e s o u r c e s ,b o o t f a s t ,q u i c kr e b 0 0 t a sao p e ns o l l r c e ,f sw i u b ew i d d yu s e di l le m b e d d e ds y s t e m k e yw o r d s :e m b e d d e ds y s t e m ;f i l e s y s t e m ;n a n d 王礓a s h ;1 脚f s ;e m b e d d e di j n u x i i 硕士学住论文 m a s t e r st h e s i s 华中师范大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进行研究工作 所取得的研究成果。除文中已经标明引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在 文中以明确方式标明。本声明的法律结果由本人承担。 作者签名:差耍缓日期:年月,d 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借 阅。本人授权华中师范大学可以将本学位论文的全部或部分内容编入有关数据库进 行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 作者签名:墨逼强 日期:2 眄件6 月,o 日 导师签名:专l 。、 日期:1 h 年月【日 本人已经认真阅读“c a l i s 高校学位论文全文数据库发布章程”,同意将本人的 学位论文提交“c a l i s 高校学位论文全文数据库”中全文发布,并可按“章程”中的 规定享受相关权益。回童途塞握变压进厦;旦坐生;旦= 生;旦三生筮壶! 作者签名:差勇缓 日期:撕年月如日 导师签名:砖l 心 日期:孓文年g 月t o 日 硕士学住论文 m a s t e r st h e s i s 第一章绪论 1 1 课题提出的背景和意义 1 1 1 嵌入式系统的特点和发展 嵌入式系统并不是最近几年才提出的新概念,它的历史几乎和计算机自身的 历史一样长。嵌入式系统是计算机的一种应用形式,通常指设备中的微处理器系 统( 软硬件系统) ,典型的有微控制器、微处理器和d s p 等。i e e e 对嵌入式系统的 定义为:嵌入式系统是“用于控制、监视、或者辅助操作机器和设备的装置” ( d e v i c e s u s e dt oc o n t r o l ,m o n i t o r o ra s s i s tt h eo p e r a t i o no f e q u i p m e n t ,m a c h i n e r yo rp l a n t s ) 。国内普遍认同的嵌入式系统定义为:以应 用为中心,以计算机技术为基础,软硬件可裁减,适应应用系统对功能、可靠性、 成本、体积、功耗严格要求的专用计算机系统1 1 j 。 嵌入式系统具有以下显著特点【2 l : ( 1 ) 是“专用”的计算机系统 嵌入式系统通常是面向特定任务的,不同于一般通用p c ,是专用的计算机系统。 具体的应用决定着嵌入式处理器的选型和整个系统的设计。如果要更改其任务,就 可能要废弃系统并重新设计。 ( 2 ) 运行环境差异大 嵌入式系统无处不在,运行环境差异很大,可运行在飞机上,冰天雪地的两极, 骄阳似火的沙漠,要求温度湿度恒定的科学实验室等。特别是在恶劣环境或者突然 断电的情况下,要求系统仍能够正常工作。这对设计人员来说,意味着要同时考虑 硬件和软件环境。 ( 3 ) 比通用p c 资源少 通用p c 系统有数不胜数的系统资源,可以轻松的完成各种工作,而嵌入式系统 专门用来执行比较少的几个确定任务,它所能管理的资源比通用p c 少得多,但是 其结构简单,成本更低廉。 ( 4 ) 功耗低、体积小、集成度高、成本低 嵌入式系统“嵌入”到对象的体系中,对对象、环境和嵌入式系统自身具有严 格的要求。一般的嵌入式系统应具有功耗低、体积小、集成度高、成本低等特点。 嵌入式系统的硬件和软件都必须高效率的设计,在保证稳定、安全、可靠的基础上 量体裁衣,力争用较少的软硬件资源实现较高的性能,最大限度的降低应用成本。 ( 5 ) 具有系统测试和可靠性评估体系 建立完整的嵌入式系统的系统测试和可靠性评估体系,保证嵌入式系统高效、 可靠、稳定的运行。 ( 6 ) 具有固化在非易失性存储器中的代码 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般固化在非易失性存 储器( r o m ,e p r o m ,e e p r o m 或f l a s h ) 芯片中,而不使用磁盘等存储介质。 ( 7 ) 需要专用开发工具和方法进行设计 嵌入式调试已发展出支持嵌入式系统开发过程的专用工具套件,而且一般微处 理器芯片上都包含专用的调试电路。 ( 8 ) 系统软件的多任务性和高实时性 在多任务嵌入式系统中,对重要性备不相同的任务进行统筹兼顾的合理调度是 保证每个任务能及时执行的关键。单纯通过提高处理器速度是低效率的,甚至是无 法完成的,这种任务调度只能由优化编写的系统软件来完成。日前对实时性要求较 高的场合,一般采用实时操作系统( r t 0 s ) 。 嵌入式系统的发展大致经过无操作系统,简单操作系统,实时操作系统和面向 网络四个发展阶段。由于嵌入式系统具有体积小、性能好、功耗低、可靠性高以及 面向行业应用的突出特征,目前己广泛应用于国防、消费电子、信息家电、网络通 信、工业控制等领域。随着信息化、智能化、网络化的发展,嵌入式系统将获得更 广阔的发展空间。随着嵌入式技术的全面展开,目前已成为通信和消费类产品的共 同发展方向。随着i n t e r n e t 的进一步发展,以及i n t e r n e t 技术与信息家电、工业 控制技术等结合的日益紧密,嵌入式系统与i n t e r n e t 的结合才是嵌入式系统真正的 未来【”。 1 1 2 嵌入式文件系统的特点和发展 在嵌入式系统中,应用程序通常需要对信息进行存取操作,当任务运行的时候, 任务可以在其任务堆栈中存放少量信息,但是存储量要受到内存空问的严格限制, 而且在内存空间中的信息随着任务的退出而消失,不适于存放要长期保存的信息。 另外一方面,一些公共信息为多个任务所共享,需要这些信息独立于具体的任务而 存在,因此嵌入式系统应该和桌面系统一样,为用户提供文件系统,以方便信息的 处理【”。 嵌入式文件系统足一个管理嵌入式操作系统的文件操作的功能模块,它提供了 一系列文件输入输出和方便的文件管理,为嵌入式系统和设备提供文件系统支持。 嵌入式文件系统除了满足一般文件系统的基本要求外,还具有如下一些特性: 硕士学位论文 m a s t e r st h e s i s 1 存储介质的特殊性 嵌入式设备一般具有体积小、可移动等特点,它的这些特点决定了其存储设备 的特殊性:容量适中、功耗小、易拆卸、抗机械振动等。典型的存储设备有r a m 、 n o rf l a s h 、n a n df l a s h 等。 2 文件系统快速恢复的特殊要求 嵌入式设备的另一个特点就是电源供给的不稳定性,不可预知的断电随时有可 能发生。对于传统的文件系统而言,忽然的断电会带来文件系统的不一致,严重的 可能导致整个文件系统的崩溃。l i n u x 所使用的主要文件系统e x t 2 在每次非正常关 机后都要用特定的工具,花费较长的时间来检查修复文件系统的错误。而且严重的 时候文件系统无法恢复到断电前的状态,可能导致很多关键信息的丢失。这对于可 能频繁断电的嵌入式设备而言,是件让人无法忍受的事情。于是需要有一种特殊的 防断电的文件系统来保证系统的稳定性和数据的安全性【5 l 。 3 跨平台的安全性 由于嵌入式存储设备比较方便,嵌入式文件系统的跨平台安全性必须考虑。存 储设备上存放用户文件和一些重要信息,当在不同的嵌入式设备上使用这个存储设 备时,有必要对用户的身份进行识别后,才能进行常规的文件操作。 4 实时响应 嵌入式系统一般具有实时性的要求,即使是软实时的要求,也要求嵌入式操作 系统对内部和外部的响应时问确定。嵌入式文件系统应该能满足实时系统实时性的 要求,提供相应缩短时间的机制和策略,为文件的管理和操作提供较短的时间响应 【6 】。 5 接口标准的开放性和可移植性 嵌入式应用的领域非常广泛,所采用的实时操作系统和硬件环境也千差万别。 为了适应这种差异性,文件系统组件应该不依赖于具体的硬件环境和操作系统,使 其能够比较容易的移植到各种应用环境中。 文件系统在传统的嵌入式系统应用中不是必需的部分,事实上很多的应用都不 涉及文件系统,这主要是因为之前嵌入式系统涉及的多是要求效率的小型应用,这 些应用对数据的存储和处理没有过高的要求,引入文件系统不但没有必要反而会降 低整个系统的效率。但随着用户需求和功能复杂度的增加,越来越多的嵌入式系统 需要处理大量的数据,或者在运行过程中会产生大量的临时数据。一方面这些数据 处理完后不能立即删除;另一方面这些临时文件不需要长期保存。处理数据量的增 硕士学住论文 m a s t e r st h e s i s 大给嵌入式系统的设计提出了新的要求。所以使用文件系统将是嵌入式系统应用的 一个必然趋势h j 。 嵌入式文件系统是随着嵌入式操作系统的发展而发展的,目前成熟的嵌入式操 作系统基本都有成熟的文件系统。其中,q n x 被称为最好的x 8 6 平台上的嵌入式操 作系统,提供完全的p o s i x 1 以及u n i x 语法的p o s i x 文件系统,支持多种闪存设 备;市场占有率第一的v x w o r k s 提供的快速文件系统( f f s ) 适合于实时系统应用; p s o s 文件管理系统称为p h i l e + ,它提供了文件系统管理和对块设备的管理;v r t x 提供的文件系统是i f x ,它支持f a i 、n f s 、c d r o m 等文件系统,并提供统一设备接 口管理。以上四种嵌入式文件系统是现在商用嵌入式文件系统的主流,占领大部分 的市场,也代表了这个领域的先进技术。但是由于商业机密的限制,源代码和核心 技术不可能公开,购买和维护的费用昂贵。而且由于嵌入式系统的专用性,无法形 成统一的标准【8 l 。 嵌入式文件系统有安全性、实时性、均衡负载等方面的要求,日志结构的文件 系统可以很好的解决这些问题【9 1 。经过几年来的发展,日志结构的嵌入式文件系统 成为嵌入式文件系统的主流。 日志文件系统采用记日志的方法来解决安全性问题。其基本思想是在磁盘上维 持一个只允许扩展的日志文件。每次对文件系统的修改都以追加的形式直接写回磁 盘上日志文件的尾部。因此日志尾部总是记录着文件系统的最新的状态。这样,在 非正常断电导致文件系统破坏后,我们只要查看日志文件系统的尾部,就能够找到 文件系统断电前的状态,迅速地恢复系统【1 0 1 。日志文件系统分为两大类,一类是l o g 型日志文件系统,如b s d l f s 文件系统;另外一类是元数据日志文件系统,如j f s 、 r e i s e r f s 、x f s 等【1 。 目前正在开发或者已有一定发展规模的日志文件系统,绝大部分都有一个特点, 就是针对容量较大的硬磁盘来设计的。这些文件系统体系比较庞杂,并且需要很大 的空间来记日志,而且它们复杂的设计决定了它们的运行效率较低【l ”。目前处于应 用阶段的文件系统b s d l f s 、j f s 、x f s 、r e i s e r f s 等都是如此,它们不适合在嵌入 式系统中使用。 现阶段,大多数的嵌入式系统都使用f l a s h ( 闪存) 作为存储介质。f l a s h 是 电可擦写只读存储器( e e p r o m ) 的一种,主要有两种类型,即n o rf l a s h 和n a n d f 1 a s h 。目前基于f l a s h 的文件系统主要有r o m f s 、r a m f s 、c r a m f s 、t u r e f f s 、f t i n t f l 、 j f f s j f f s 2 以及基于s m a r t m e d i a 的d o s f a t 文件系统等。其中r o m f s 、r a m f s 、c r a m f s 多用于小容量闪存设备,系统功能比较简单,仅提供基本的接口,它们都属于只读的 4 硕士肇位论文 m a s t e r st h e s i s 文件系统;t u r e f f s 是有知识产权的技术;n t f s 只能用于d i s k o n c h i p 上,也就是 说只能建立在t u r e f f s 层面上;j f f s j f f s 2 支持不含任何系统的n o r 和n a n d 芯片, 在n o r 芯片上能够很好的运行,但是在n a d 上运行还存在一定的问趔”1 4 l 。在上 述文件系统中,j f f s j f f s 2 是基于日志结构的文件系统。随着n a n df 1 a s h 作为嵌 入式系统中大容量存储介质的普及应用,设计和实现一种基于n a n df l a s h 的嵌入 式文件系统是很有必要的。 目前可用于n a n df l a s h 的文件系统按其结构主要分为集中索引文件系统和日 志结构文件系统i 蚓。集中索引文件系统是磁盘存储器中常用的文件系统,包括基于 w i n d o w s 的f a t 系列和基于l i n u x 的e x t 系列。由于f 1 a s h 设备可以通过使用f 1 a s h 转译层( f t l ) 驱动而模拟成与磁盘相似的块设备,故该类文件系统可以直接基于f t l 在f l a s h 上应用。集中索引文件系统将存储区的使用信息和文件的索引信息集中存 放在存储区的固定位置。由于集中索引信息会被频繁更新,因此在突然断电时最容 易出现数据丢失而导致系统无法识别。其次,由于索引信息集中存放,任何数据的 更新都将导致集中索引信息的修改,因此集中索引信息将被频繁修改,由于f 1 a s h 存储块的擦写次数有限,频繁的修改将导致集中索引区损坏。另外由于存储区的擦 除速度较慢,覆写方式将降低数据写入速度【1 6 j 。 y a f f s ( y e ta n o t h e rf 1 a s hf 订es y s t e m ) 是第一个基于n a n df l a s h 的日志 结构的文件系统。y a f f s 充分利用n a n df l a s h 的页面结构等特性,具有较快的文件 系统装载速度,高效的内存使用效率和良好的可移植性,能够在l i n u x 、u c l i n u x 和w i n c e 上运行。 1 2 主要研究工作和论文内容安排 1 2 1 主要研究工作 本文在研究几种常用的嵌入式文件系统的基础上,重点分析基于n a n df 1 a s h 的嵌入式文件系统y a f f s ,并在嵌入式l i n u x 上成功移植y a f f s 文件系统。 研究工作主要包括以下几个方面: 1 分析n a n df l a s h 的结构及驱动程序的实现;完成针对具体处理器s 3 c 2 4 l o 的n a n df 1 a s hm t d 驱动修改,以便移植y a f f s 。 2 研究y a f f s 的实现原理( 源代码分析) ,包括: ( 1 ) y a f f s 相关数据结构分析,失效块的检测和纠错算法,日志功能的实现, 芯片物理块的管理,文件组织与目录结构,芯片内文件系统的数据结构文件系统 在内存中的组织方式等; 5 硕士学住论文 m a s t e r st h e s i s ( 2 ) y a f f s 与上下层系统的接口。主要是文件系统与l i n u xv f s 和m t d 问的接 口。 3 在嵌入式l i n u x 上的移植y a f f s 文件系统。 在s 3 c 2 4 1 0 硬件平台和l i n u x 一2 6 1 1 8 上实现y a f f s 的移植。把y a f f s 编译 进l i n u x 内核,让内核支持y a f f s 文件系统,然后制作y a f f s 格式的根文件系统, 让内核从n a n df l a s h 启动。总结了移植过程需要注意的问题。 1 2 1 论文内容安排 论文在第一章首先介绍了嵌入式系统和嵌入式文件系统的特点和发展,说明了 在n a n df 1 a s h 实现嵌入式文件系统的必要性以及采用日志结构文件系统优越性。 第二章对一些典型文件系统作一个概述。包括w i n d o w s 文件系统中f a t 、n t f s 以及w i n f s ;l i n u x 文件系统中e x t 文件系统等。然后讨论了引入嵌入式文件系统 的必要性,嵌入式文件系统的一般体系结构等,较详细的分析几种典型的嵌入式文 件系统r o m f s 、c r a m f s 、u c f s 、r f s 、j f f s j f f s 2 等,并比较它们的优点以及不 足。 第三章详细分析了基于n a n df 1 a s h 的嵌入式文件系统y a f f s 。包括n a n df l a s h 的特点和操作,婀d 对y a f f s 的支持。y a f f s 相关数据结构,y a f f s 文件系统数据在 n a n d 上的存储方式,y a f f s 文件系统在内存中的组织方式,错误检测与纠正,y a f f s 的函数接口,以及y a f f s 使用的其他相关技术。 第四章介绍y a f f s 在嵌入式l i n u x 上的移植,并总结了移植过程需要注意的问 题。 第五章测试了y a f f s 文件系统的运行情况。 论文在最后总结本论文主要完成的研究性工作和对相关问题的展望。 硕士学位论文 m a s t e r st h e s i s 第二章文件系统概述 文件系统是操作系统的重要组成部分,用于控制对数据、文件及设备的存取。 它提供对文件和目录的分层组织形式、数据缓冲以及对文件存取权限的控制【埘。 文件系统必须提供必要的用来创建文件、删除文件、读文件和写文件等相应的 系统调用。文件的存放通过目录完成,所以对目录的操作是文件系统功能的一部分, 随之就对文件系统的创建目录,删除目录和层次结构等功能提出了要求。文件系统 应具有以下功能【1 7 l : 提供对文件和目录的分层组织形式; 建立与删除文件的能力; 文件的动态增长与数据的保护。 硬盘的出现,推动了文件系统( 针对桌面操作系统) 的发展,同样,嵌入式存 储设备特别是f l a s h 的出现,也推动了嵌入式文件系统的发展。 2 1 、v i n d o w s 文件系统 本节介绍3 种常见的w i n d o w s 的文件系统。 2 1 1 酗l t 文件系统 f a t 【1 8 】是f i l ea 1 1 0 c a t i o nt a b l e ( 文件分配表) 的缩写,它用来跟踪硬盘上每个 文件的数据库,而f a t 表存储关于簇的信息。f a t 表是m i c r o s o f t 在f a t 文件系统 中用于磁盘数据( 文件) 索引和定位引进的一种链式结构。在f a t 文件系统中,文件 的存储依照f a t 表制定的簇链式数据结构来进行。同时,f a t 文件系统将组织数据时 使用的目录也抽象为文件,以简化对数据的管理。f a t 分区格式是m i c r o s o f t 最早支 持的分区格式,依据f a t 表中每个簇链的所占位数分为f a t l 2 、f a t l 6 、f a t 3 2 三种 形式,但其基本存储方式是相似的。 f a t l 6 是m i c r o s o f t 较早推出的文件系统,最开始应用于m s d o s 系统中,具有 高度兼容性,目前仍然广泛应用,尤其是移动存储设备中,如优盘等。 f a t 3 2 【1 9 】是个非常成功的文件系统,m i c r o s o f t 成功地设计并运用了它,直到 今天f a t 3 2 依然占据着m i c r o s o f tw i n d o w s 文件系统中重要的地位。f a t 3 2 最早是 为了解决f a t l 6 不支持大分区、单位簇容量大以致空间急剧浪费等缺点而设计的。 2 1 2n t f s 文件系统 n t f s 文件系统只能在安装了w i n d o w sn t 2 0 0 0 及以上版本操作系统的计算机上 7 硕士学位论文 m a s t e r st h e s i s 使用。n t f s 文件系统与f a t 文件系统相比。功能更强大,适合更大的磁盘和分区, 支持安全性,是更为完善和灵活的文件系统例。 n t f s 的磁盘分区由一个被称为主文件表m f t ( m a s t e rf i l et a b l e ) 的数据结构 来管理,该表实际上是一个关系数据库文件,记载了磁盘上的所有信息。事实上, 可以把一个n t f s 分区看作个大文件,这个文件的第一层次是记录,第二层次是 记录的属性和磁盘的簇。不过,这里磁盘的簇为1 k b 、2 k b 或4 k b ,与磁盘分区 的物理大小基本无关。因为簇是用6 4 位二迸制数来表示的,所以其相对于f a t 的 结构来说是海量的,不会再因为物理硬盘的扩大而迫使磁盘的簇增大。在n t f s 中, 磁盘的簇最大是4 k b 【2 1 l 。 n t f s 文件系统与f a t 文件系统相比最大的特点是安全性,n t f s 提供了服务器 或工作站点所需的安全保障。在n t f s 分区上,支持随机访问控制和拥有权,对共 享文件夹无论采用f a t 还是n t f s 文件系统都可以指定权限,以免受到本地访问或远 程访问的影响:对于计算机上存储的文件夹或单个文件,或者是通过连接到共享文 件夹访问的用户,都可以指定权限,使每个用户只能按照系统赋予的权限进行操作, 充分保护了系统和数据安全。n t f s 使用事务日志自动记录所有文件夹和文件更新, 当出现系统损坏和电源故障等问题而引起操作失败后,系统能利用日志文件重做或 恢复未成功的操作。 2 1 3w i n f s w i n f s 【2 3 】文件系统全称是w i n d o w sf u t u r es t o r a g e ( w i n d o w s 未来的存储系统) , 这种文件格式将会在微软公司下一代操作系统v i s t a 中进行部署,该文件系统格式 将淘汰现在的f a t 3 2 和n t f s 格式。 2 2l i n u x 文件系统 本节介绍l i n u x 上常用的文件系统e x t 与l i n u xv f s 。 2 1 1e x t 文件系统 e x t 2 文件系统是l i n u x 中使用最普遍的文件系统,是专门为l i n u x 设计,拥有 较快的速度和较小的c p u 占用率【。 和其它文件系统一样,e x t 2 文件系统中的文件保存在数据块中。对同一个e x t 2 文件系统而言,其上所有的数据块大小相等。对不同的e x t 2 文件系统,数据块大 小可以不一样。数据块大小在建立e x t 2 文件系统时指定。 e x t 2 的核心是两个内部数据结构,即超块( s u p e r b l o c k ) 和索引节点( i n o d e ) 。 8 顾士举住论文 m a s t e r st h e s i s 超块是一个包含文件系统重要信息的表格,它是对文件系统基础性、全局性的描述。 索引节点是基本的文件级数据结构。文件系统中的每一个文件都可以在其中一个索 引节点中找到其描述。文件系统中所有的索引节点保存在索引节点表中。e x t 2 文 件系统中的目录实际是一种特殊文件,它们也有对应的索引节点,索引节点指向的 数据块中包含该目录中索引的目录项,每个目录项对应自己的索引节点。 e x t 2 文件系统分布在块结构的设备上,文件系统不必了解数据块的物理存储内 容,它保存的是逻辑块的编号,由块设备驱动程序完成逻辑块编号到物理存储位置 的转换。e x t 2 文件系统将逻辑分区划分为块组,每个块组重复保存着对文件系统 的完整性非常关键的信息,同时用来保持实际的文件和目录数据。 e x t 2 文件系统加上日志支持的下一个版本是e x t 3 文件系统,它和e x t 2 文件系 统在硬盘布局上是一样的,其差别仅仅是e x t 3 文件系统在硬盘上多一个特殊i n o d e , 用来记录文件系统的日赳“。 2 1 2l i n u xv f s 由于l i n u x 最重要的特征之一是支持多种不同文件系统。为了能支持多种文件 系统,l i n u x 用了一个称为虚拟文件系统( v i r t u a lf i l es y s t e m ) 的接口层将实 际的文件系统同操作系统分离开来。v f s 也称为虚拟文件交换( v i r t u a lf i l e s w i t c h ) 。它屏蔽了不同文件之间的差异,使所有文件系统对操作系统的其它部分和 用户程序来说都是相同的【“。l i n u x 目前可以支持e x t 2 、e x t 3 、x i af s 、i s 0f s 、 h p f s 、m s d o s 、u m s d o s 、p r o c 、s y s v 、m i n i x 、s m b 、u f s 、n c p 、v f a t 、a f f s 等格式 的文件。v f s 将真实的文件系统从系统服务中分离出来,用户程序利用v f s 的统一 操作界面与每一个具体文件系统相交互,而不必关心具体操作是哪一种文件系统。 v f s 实际上是用户进程与实际文件系统之间的一种接口,为了兼容各种文件系统, v f s 定义了一组标准功能,并要求任何一种通过v f s 装载的文件系统都必须实现这 些功能,这些功能包括三个主要部分:文件系统操作,i 节点操作和文件打开操作。 l i n u x 的文件系统结构清晰,在用户进程对文件系统提出操作请求后,v f s 将 内存的数据结构与具体文件系统的数据结构关联起来,同时调用具体的文件系统的 操作函数,启动设备的输入输出操作,实现设备上文件的读取、写回、查找、更改、 更新等操作。文件系统尽量在内存中处理文件,减少读取外设的操作次数,即由v f s 提供的内存节点缓冲区,内存目录项缓冲区,数据块缓冲区提供了内存中操作节点、 目录、数据块手段。操作完成之后,文件系统在适当的时机调用v f s 的更新例程, 将改变的数据从内存中全部写回存储设备。 9 硕士学住论文 m a s t e r st h e s i s 2 3 嵌入式文件系统 2 3 1 嵌入式文件系统的必要性 文件系统在传统的嵌入式系统具体应用中不是必需的部分,事实上很多的应用 都不涉及文件系统,这主要是因为之前嵌入式系统主要涉及的都是要求效率的小型 应用( 如信息家电、终端设备等) ,这些应用对数据的存储和处理没有过高的要求, 引入文件系统不但没有必要反而会降低整个系统的效率。但随着用户需求和功能复 杂度的增加,越来越多的嵌入式系统需要处理大量的数据,或者在运行过程中会产 生大量的临时数据。一方面这些数据处理完后不能立即删除;另一方面这些临时文 件不需要长期保存。例如,用来上网冲浪的机顶盒设备在用户浏览过程中不断从互 联网上接收数据,因此用户访问后的页面很可能再次浏览,所以不能将浏览后的网 页立即清除,当然,系统不需要也不可能将所有浏览过的页面保存于硬盘中。处理 数据量的增大给嵌入式系统的设计提出了新的要求。所以使用文件系统将是嵌入式 系统应用的一个必然趋势。在整个软件系统中,尤其是面对大量数据处理的时候, 如果操作系统的管理调度内核与应用程序直接相连,会使得高层应用程序的设计员 要直接访问硬件,尤其是可能经常读写内存,这样整个软件系统层次不清,透明度 低,软硬件接口混乱,软件代码繁琐复杂,难于维护,这样肯定无法开发出高性能 的应用程序来。因此,在操作系统内核和应用程序之间需要一个文件系统,这个文 件系统能在操作系统内核和应用程序之间添加一层中介,并且通过这层中介起到使 软件系统层次分明,透明度好的作用,这样不仅能够优化系统性能,而且提高了软 件的可维护性,对应用软件开发起到了事半功倍的作用。 使用文件系统,可以将存储空间当作直观的名称空间,以代替原始的地址空间, 不用每次新的应用都从头开始使用存储器,可以提供与底层存储器无关、清晰的编 程接口,使上层应用程序不再关系底层具体设备,就可以方便的利用标准接口访问 存储器。由于接口的标准化,也保证了程序的层次性,增加了程序的可移植性。文 件系统还可以帮助系统管理大量的数据,如程序参数、记录文件等,并能提供直观 的系统调用接口,方便用户和开发者使用,从而可以开发和建立更复杂的应用程序。 2 3 2 嵌入式文件系统一般体系结构 嵌入式文件系统由于功能和作用与普通桌面操作系统的文件系统不同,导致了 二者在体系结构上的很大差异。在普通桌面操作系统中,文件系统不仅要管理文件, 提供文件系统调用a p i ,还要管理各种设备,支持对设备和文件操作的一致性( 即象 操作文件一样操作各种i o 设备) 。在嵌入式文件系统中,这种规则发生了变化一 一在某些情况下,嵌入式系统可以针对特殊的目的定制,特别是随着a s 0 s ( 为应用 1 0 硕士学位论文 m a s t e r st h e s i s 定制的嵌入式操作系统) 的发展,对嵌入式操作系统的系统功能完整性和可伸缩性 提出了更高的要求有的应用为了节省系统开销可能不会使用文件系统,但是会 用到i 0 管理。在普通桌面操作系统中,这个问题是难以解决的。所以不得不采取 一种灵活的系统体系结构对于操作系统来说,文件系统是一个独立的自包含的 整体,可以灵活地加载和卸载,这一切操作对操作系统内核的功能没有任何影响【8 】。 嵌入式文件系统体系结构从上到下一般有三个层次,如图2 3 2 所示: 最上一层是文件系统核心。这是整个系统设计的核心,也是嵌入式文件系统中 用户唯一可见的部分p o s i x 中文件系统的标准系统调用全部可以在该部分中实 现。 第二层是高速缓冲管理。它是文件系统的效率之源。高效的高速缓冲区管理算 法能大幅度提高文件系统执行的效率;同时它要为文件系统的实现提供与硬件无关 的统一接口,是文件系统结构规整性的基础。 最下面一层是设备驱动程序,涉及到具体的硬件。设备驱动程序的另一重要任 务就是提供统一的设备驱动程序接口。 作为整个操作系统的一部分,文件系统和操作系统内核的关系主要体现在三方 面:实时时钟、信号量和中断管理。用时钟实现外设任务的等待延时:用信号量实 现外设的同步和互斥以及解决资源的互斥访问;用中断管理机制管理外设的中断处 理程序。 图2 3 2 嵌入式文件系统一般体系结构 硕士学位论文 m a s t e r st h e s l s 2 3 3 嵌入式系统上的主要存储设备 在嵌入式系统中一般不使用硬盘等存储介质。大多数嵌入式系统使用f 1 a s h 来 存放代码和数据,所以,在f l a s h 上建立文件系统具有普遍的意义。 f 1 a s h 存储器是一类非易失性存储器,即使在供电电源关闭后仍能保持片内信 息。与e p r o m 相比较,f 1 a s h 存储器具有明显的优势,表现在系统电可擦除和可重复 编程,而不需要特殊的高电压;f 1 a s h 存储器具有成本低、密度大等特点,其独特 的性能使其广泛地运用于各个领域,包括嵌入式系统,如p c 及外设、电信交换机、 蜂窝电话、网络互联设备、仪器仪表和汽车器件,同时还包括新兴的语音、图像、 数据存储类产品,如数字相机、数字录音机和个人数字助理( p d a ) 【卅。不同的应用 领域对f l a s h 有不同的需求,例如,数码相机追求大容量的存储器,以便保存数量 巨大的相片;而手机等通信设备则更渴望高速的数据读写速度,从而在无线上网和 手机游戏中能吸引更多的用户。 f l a s h 内部构架和实现技术可以分为a n d 、n a n d 、n o r 和d i n o r 等几种,目前以n a n d 和n o r 为主流【2 8 1 。n o r 技术是由i n t e l 公司1 9 8 8 年首先推出,n a n d 技术是由东芝公司 1 9 8 9 年发明。n a n d 技术在设计之初是为了数据存储应用,n o r 则是为了满足程序代 码的高速访问,并且支持程序在芯片内部运行【捌。目前关于两种技术的发展前景讨 论很激烈,各种观点很多。客观来看,二者各有优势和不足。n o r 工作电压低、随 机读取快、功耗低、稳定性高:而n a n d 则写回速度快、芯片面积小,特别是容量大 有很大优势。 2 3 4 基于n a s h 的f f s f l a s h 的操作接口同普通磁盘存在很大的不同,因此基于f l a s h 的文件系统也 不同于普通磁盘上的文件系统,这种基于f 1 a s h 的特殊的文件系统被称为f f s ( f l a s h f i l es y s t e m ) 。 1 f f s 的必要性 由于f l a s h 的物理特性,加上其存取数据以及底层存取方法因制造厂家而异, 因此针对复杂的物理操作接口而建立一种特殊的文件系统是很有必要的。 使用f f s ,可以封装底层硬件相关的具体操作,向上提供与底层存储器无关的 编程接口,使上层应用不必关心底层的具体设备,而可以方便地通过标准接口来访 问存储器。同时f f s 还可以帮助系统管理大量的数据,提供直观通用的文件接口。 2 f f s 的形式 f f s 的具体形式是根据系统资源环境和应用需求而定的,因此在具体的应用系 硕士学位论文 m a s t e r st h b s i s 统中f f s 会有不同的形式。从系统资源环境上大致可以分为以下两种形式: 存在操作系统环境下:存在操作系统的环境下,f 1 a s h 对于上层应用就和普通 磁盘一样,只需根据操作系统的具体接口,实现文件系统功能即可,而无需关心碎 片回收
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年碳普惠机制下公众低碳行为量化与激励方案题库
- 2026年民航招飞心理测试题库
- 2026年交通事故处理舆情应对模拟卷
- 2026年乡镇干部以水灭火技术专项测试题
- 2026年医保医疗服务设施支付标准知识测试题
- 2026年仓储员业务技能笔试题库
- 2026年外贸市场趋势分析面试题
- 2026年交通法规与安全知识在收费员工作中的运用
- 2026年国家公务员面试技巧与模拟题集
- 临时劳动合同合集15篇
- 2026年黑龙江省《保密知识竞赛必刷100题》考试题库带答案详解(基础题)
- 2026乌鲁木齐市招聘警务辅助人员(1134人)建设笔试备考试题及答案解析
- 2026上海春季高考语文试题试题含答案
- 蝶阀维修施工方案(3篇)
- 内蒙古呼和浩特市北兴产业投资发展有限责任公司招聘笔试题库2026
- 学术交流英语(学术写作)智慧树知到期末考试答案章节答案2024年哈尔滨工程大学
- 充电桩运营平台方案
- 陕西省西安市长安区2023-2024学年八年级下学期期中数学试题(含答案)
- JGT366-2012 外墙保温用锚栓
- DB63∕T 1723-2018 石棉尾矿污染控制技术规范
- 年产5万吨乙酸乙酯生产工艺的设计
评论
0/150
提交评论