




已阅读5页,还剩57页未读, 继续免费阅读
(电路与系统专业论文)基于asix+os的文件系统设计与优化.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 嵌入式实时操作系统需要处理大量的实时信息和历史数据。存储这些信息,有两个基本要求: 首先,需要大容量的存储介质并对介质上信息进行管理;其次,允许多个任务并发共享这些信息。文 件系统可以满足这两个要求。文件系统将数据以文件的形式存放在大容量的外部存储介质上,让用 户任务可以随时读取信息或写入新的信息。 文件系统是操作系统的一个组成部分,它包含对文件进行管理的那部分软件以及被管理的文件。 文件系统主要为使用文件的用户和应用程序服务,它可以满足数据管理的要求和用户的需求,最大 限度地保证文件中的数据有效,减少数据被破坏的可能性,为各种类型的的存储设备提供标准的输 入输出接口例程集。嵌入式文件系统还需要满足系统实时性的要求,并保持与桌面计算机的兼容。 本论文研究目的就是在以a r m 7 ) m i 处理器为核心的g a m e l d 系列处理器上实现文件系统管 理,为m p 3 实时解码和数据库等应用服务。本论文首先介绍文件系统实现所依赖的软件平台嵌入式 实时操作系统a s i xo s 以及验证平台g a m e l d 系列处理器的功能,然后详细阐述了文件系统的具体 实现,包括文件系统的存储设备管理模块的设计、文件管理模块的没计、文件系统应用接口模块的 设计、文件系统的容错机制以及文件系统的保护机制。接着完成文件系统所依赖的块设备驱动程序 的接口设计,以g a 币e l d 系统中m m c 卡、n a n d 同a s h 及u 盘为例,介绍驱动程序的具体设计,并 验证a s i xo s 文件系统与桌面计算机f a t 文件系统的兼容性。最后对文件系统性能采用输入输出缓 冲进行了优化,优化后文件系统性能得到了提高,文件系统从g a m e l d 系统中m m c 卡上读文件的 速度提高了1 0 6 ,写提高1 6 2 ;从n a n df l a s h 的读速度提高了9 2 ,写速度提高3 8 1 。 论文所设计的a s i xo s 文件系统已在g a m e l d 系统上的稳定运行,通过了各个功能测试,包括 创建目录、删除目录,文件打开、读写、删除以及搜索等。 关键词:嵌入式处理器嵌入式系统文件系统多媒体卡闪存 l,: _。 i i 一0 。0 , 东南大学硕士学位论文 a b s t r a c t e m b e d d e ds y s t e mi sak i n do fs p e c i a lc o m p u t e rs y s t e m ,w h i c hi sf o c u s e da r o u n da p p l i c a t i o n sa n d b a s e do nc o m p u t e rt e c h n o l o g y i ti sc o m p o s e do fs c a l a b l eh a r d w a r ea n ds o f t w a r e a n di ts h o u l db ec o n t e n t w i t ht h en e e do ff u n c t i o n ,r e l i a b i l i t y c o s t ,s i z ea n dc o n s u m e dp o w e r e 】m b e d d e ds o f t w a r ei so n eo ft h em o s t a c t i v er e s e a r c hi ne m b e d d e ds y s t e mw h i c hi sc o m p o s e do fe m b e d d e do p e r a t i n gs y s t e m ,e m b e d d e d a p p l i c a t i o n sa n de m b e d d e ds y s t e md e v e l o p i n gt o o l sa n de n v i r o n m e n t i nt h ee a r l yd e v e l o p m e n to fe m b e d d e ds y s t e m ,a p p l i c a t i o n sd i dn o tn e e dt os a v eo p e r a t i n gd a t a w i t h t h ed e v e l o p m e n to fe m b e d d e da p p l i c a t i o n sa n di m p r o v e m e n to fs y s t e mf u n c t i o n s ,t h e yn e e dt oh a v eb o t h t h ed a t am a n a g e m e n ta b i l i t ya n dd a t as a v i n ga b i l i t y n o w ,m a n ye m b e d d e ds y s t e m sa d dt h em u l t i m e d i a f u n c t i o n ,w h i c hh a sag r e a td e a lo fd a t an e e d e dt ob ed e a l i n gw i t h h o w e v e r ,e m b e d d e ds y s t e m sa r es h o r t o fi n t e r i o rs t o r a g e t h e ym u s te x t e n d e de x t 嘶o rs t o r 4 9 e a n di ts h o u l db em a n a g e db yf i l es y s t e m s t h ea i m - o fr e s e a r c hi st or e a l i z ef i l es y s t e m sm a n g e m e n to ns e r j a lg a m e l dc m o sc h i p sw h i c ha r e b a s e do na r mp r o c e s s o r s a n di tp r o v i d e st h es e r v i c ef o rm p 3d e c o d i n ga n dd a t a b a s ei nt h eg a 币e l d s y s t e m f i r s t l y ,t h ep a p e r i n t r o d u c e st h ed r i v e r sr e a l i z a t i o no fp h y s i c a ld e v i c es u c ha sn a n df 1 a s ha n d m u l t i m e d i ac a r dw h i c hf i l es y s t e mb a s e so n s e c o n d l y ,t h ep a p e ri n t r o d u c e sh o wt or e a l i z ef i l es y s t e m s m a n g e m e n tw h i c hi n c l u d e sf a tf i l es y s t e m sp r i n c i p l es _ ,t h es e l e c t i o nf b rf i l ec l u s t e r ,t h er e c t i f i c a t i o nw a y o fs a v i n gd a t af a i l u r ea n ds h a r i n gt h ef i l es y s t e m a t1 a s t ,t h ep a p e rp o i n t so u th o wt oi m p r o v et h e p e 晌r m a n c eo ff i l es y s t e mi na s i xo sa p p l i c a t i o na n dg i v e st h eo p t i m i z a t i o nr e s u l t a l l t h ew o r kd e s c r i b e di nt h ep a p e rh a sb e e nf i n i s h e dn o w t h r o u g hs i m p l et e s t ,o p e r a t i n gs y s t e mh a s s u c e e d e di nr u n n i n gt h en e wf i l es y s t e m i th a sr e a l i z e db o t hd i r e c t o r yo p e r a t i o n sa n df i l eo p e r a t i o n s k e yw 0 如s :衄e d d 功p r 0 c e s s o r 衄e 叻e ds y s 删f i l es y s t 珊删l t i 狐d i ac a 劝f l a s h 东南大学。学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发 表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用 过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明 并表示了谢意。 研究生签名: 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的 复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内 容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可 以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研 究生院办理。 研究生签名:_ 虹导师签名: 日期:m ;- ; 第章绪论 1 1 论文研究背景 第章绪论 嵌入式系统是指以应用为中心、以计算机技术为基础、软硬件可裁减、适应应用系统对功能、 可靠性、成本、体积、功耗严格要求的专用计算机系统。它通常指非p c 系统,包括硬件和软件两个 部分。随着电子技术的发展,无线通讯设备、信息电器以及移动计算设备在人们生活中的地位越来 越高,这加快了嵌入式系统的发展和产业化进程。目前,嵌入式系统的发展逐渐取代p c 成为后p c 时代的主流,无论在生活领域,工业控制领域,还是军事领域,航空领域都有很好的发展前景。 嵌入式软件是嵌入式系统中研究最为活跃的课题之一,其中涵盖了嵌入式操作系统、嵌入式应 用程序、嵌入式技术的开发工具与开发环境等一系列研究方向。随着嵌入式软件的发展,用户对嵌 入式操作系统的发展提出了更多要求,同时嵌入式软件的研究领域也在不断扩大。嵌入式文件系统 在这样的环境下孕育而生。 早期的嵌入式系统,如p d a ,掌上电脑等移动终端产品,功能简单,系统和用户交互的数据量 小,且各个功能间的数据关联性弱,所以对数据存储和操作的要求很低。随着嵌入式系统的应用领 域的扩大和功能的增强,不仅要求系统有处理大数据的能力,还要求有存储数据、管理数据的能力。 特别是随着音、视频技术的发展,要求嵌入式系统实现多媒体,而多媒体所需的大存储空间和嵌入 式系统本身小存储容量之间的矛盾,迫切需要硬件系统扩展外存。有了具体的物理设备,还必须系 实现相应的管理,因此文件系统概念被引入嵌入式系统中。 文件系统是操作系统的重要组成部分,用于控制数据文件及设备的存取。它实现了文件和目录 的分层组织形式、数据缓冲以及文件存取权限的控制u 儿引。作为操作系统的组件,它对内提供高效 的逻辑文件系统管理和保护,对外提供主流存储介质的支持并为用户提供统一、标准的编程接口。 它是内核之上的第一层扩展,提供数据的存储和保护,是嵌入式日志和嵌入式数据库的基础。和普 通的文件系统不同,嵌入式文件系统建立在实时系统内核之上,其设计不仅要求满足数据存储的各 种要求,还要尽量减小对整个系统负荷的影响。这就要求在研究实时系统内核和文件系统的基础之 上,探求两者的结合机制和结合点。 目前通用计算机上已经有很多成熟的文件系统,如d o s 下的f a t 文件系统、n t 下的n t f s 文件 系统及l i n u x u n i x 文件系统等等。但这些通用文件系统并不适合直接应用于嵌入式系统:( 1 ) 通用 文件系统使用缓存技术来提高文件系统的速度特性,耗费大量的系统资源。( 2 ) 嵌入式实时系统电源 的突发性断电对存储造成很大影响,通用文件系统对此考虑不足。( 3 ) 嵌入式实时系统对其数据的实 时性要求很高,通用文件系统代码体积庞大,很难做到实时读写。( 4 ) 嵌入式实时系统对数据安全 性、可靠性要求更高。( 5 ) 为了适应实时操作系统和硬件环境之间的差异,嵌入式文件系统组件应 该不依赖于具体的硬件环境和操作系统,方便的移植到各种应用环境。 当今国内外流行嵌入式操作系统主要有v x w o r k s ,w i n c e ,d e l t a 0 s ,u c l i n u x 等,它们都提供 各自的文件管理子系统。v x w o r k s 支持t f f s 和f a t 文件系统。w i n c e 支持的文件系统有f a t ,n t f s 以及遵循i s 0 9 6 6 0 标准的c dr o m 等文件系统。d e l t a 0 s 支持本身的d e l t a f i l e 文件管理系统。上面 这些文件系统最大的弊端是源代码不公开。嵌入式u c l i n u x 源代码公开,通过虚拟文件系统体系结 构,支持e x t 2 ,j f f s ,c r a m f s ,r o m f s ,r a m f s 等文件系统。 东南大学硕士学位论文 1 2 论文的主要工作 本论文基于汀文件系统的设计原理,在以a s i x0 s 操作系统为软件平台的系统中实现文件系 统管理( 下文简称a s i xo s 文件系统) ,并能与通用计算机f a t 文件系统格式兼容。本文对文件系 统的所有验证是以g a r f i e l d 系列旧。微处理器为平台。 a s i xo s 是本文实现的软件平台,它是东南大学国家专用集成电路系统: 程技术与研究中心 ( a s i c ) 自主研发的嵌入式实时操作系统,它的内核遵循i t r o n ( i n d u s t r i a lt r o n ) 标准。本论文 验证硬件平台是g a r f i e l d 芯片,它是a s i c 中心自主研发的基于a r m 7 t d m i 内核的1 6 3 2 位r i s c 型 系列微处理器,主要面向中低端手持设备和其它通用嵌入式设备。 在引入上述平台后,论文的主要工作如下: ( 1 )分析a s i xo s 操作系统的运行机制。 ( 2 )分析f a t 文件系统的原理,在此基础上设计和实现了基于a s i x0 s 的文件系统,包括文件系 统的存储设备管理模块,文件管理模块,文件系统应用接口模块,文件系统的容错机制以及 保护机制。 ( 3 )设计和实现了统一的块存储设备驱动接口,并以n a n df l a s h ,删c 卡,u 盘三个块存储设备 的驱动程序为例,详细说明了该接口的具体内容。 ( 4 )对该文件系统进行了功能测试以及性能优化,并以g a m e l d 系统中m p 3 实时播放验证优化 后的性能。 ( 5 ) 总结该文件系统的实现过程,并提出待改进之处。 1 3 本文组织 根据课题所涉及到的主要研究二 作,论文包括三部分。第一部分首先介绍文件系统实现的软件 平台a s i x0 s 操作系统和验证平台g a r f i e l d 系列微处理器,为阐述本论文的主题部分作好准备。第 二部分,介绍a s i xo s 文件系统具体实现,这里主要突出a s i xo s 文件系统管理存储设备的灵活性, 文件系统的容错机制及安全性。第三部分,结合g a r f i e l d 系统,对文件系统性能进行优化。根据上 面内容,本文的主题结构分为六章。 第一章,综述嵌入式文件系统的背景及发展趋势。 第二章,介绍文件系统的软件实现平台和硬件验证平台。 第三章,文件系统的具体实现。 第四章,块设备的驱动程序的设计。 第五章,文件系统的优化。 第六章,总结本文的二亡作,提出待改善之处。 2 一一- 一第二章a s i x0 s 文件系统实现平台 第二章a s 汉o s 文件系统实现平台 本章首先介绍a s i x0 孓文件系统的软件平台嵌入式实时操作系统a s i x0 s ,主要包括它的内核 调度机制,以及文件系统中用到主要任务通信机制。接着,介绍a s i x0 s 文件系统的验证平台 g a r f i e l d 微处理器及相关的硬件模块。 2 1嵌入式操作系统a s i xo s 2 2 1 嵌入式操作系统简介 操作系统是介于编程者与机器硬件之间的一个软件层,可简单被定义为:控制应用程序的执行的 程序,并充当应用程序和计算机硬件之间的接口u 儿2 川。操作系统的任务是提供一个环境,使得多道 程序并行执行时,程序间不良冲突的危险最小,但又支持安全数据共享。 嵌入式操作系统作为操作系统的一分支,有如下特点哺儿: ( 1 ) 实时性:嵌入式系统泛应用于过程控制、数据采集、通信等要求迅速响应的场合,因此嵌入 式操作系统必须提供较高的实时性。 ( 2 ) 微型化:嵌入式系统的资源配置很少,所以嵌入式操作系统占用的系统资源必须很少。 ( 3 ) 模块化、可裁减、可扩展:嵌入式操作系统的各项功能模块化,系统可以添加或删除某个功能 模块,使用户可以针对具体应用,装配所必须的功能模块,使系统性能达到最佳。 ( 4 ) 可移植性:由于嵌入式系统硬件平台的多样性,嵌入式操作系统需提供良好的可移植性。 2 2 2a s i xo s 操作系统 a s i x0 s 是本文实现的软件平台,它是东南大学国家专用集成电路系统: 程技术与研究中心自 主研发嵌入式实时操作系统,它的内核遵循i t r o n ( i n d u s t r i a lt r o n ) 标准,其软件主要组成部 分包括操作系统内核、底层驱动、文件系统、图形界面、应用程序等。 2 2 2 1 任务的描述 a s i x0 s 定义的任务( t a s k ) ,就是拥有自己堆栈的函数。系统维护多个就绪任务队列,其中优 先级最高的任务获得运行。每个任务都有一个i d ,任务i d 从1 到2 5 5 ,也就是最多能有2 5 5 个任务 可以同时运行。任务的优先级规定从1 到9 ,数值越小,优先级越高。同优先级任务按先后就绪的 顺序被排列在该优先级对应的就绪队列中。可以通过系统调用来改变任务在就绪队列中的位置或者 它的优先级。 a s i x0 s 中,任务有六种状态:r u n 、r e a d y 、w a i t 、w a i ts u s p e n d 、s u s p e n d 、d o r m a n t 。任务 刚被创建时,处于d o r m a n t 状态;等到任务被启动,变为r e a d y 状态时,才有机会等待运行,见图 2 1 。 ( 1 ) r e a d y 状态 如果任务处于可被调度运行状态,则此前的状态必为r e a d y 状态,如果被调度运行,则状态会 变为r u n ,如果被其它的任务挂起,则状态变为s u s p e n d ,如果被强制终止,则状态变为d o r m a n t 。 3 东南大学硕:i 二学位论文 图2 1a s i xo s 内核任务状态转换图 ( 2 ) r u n 状态 当前的任务如果正在被运行,则其状态为r u n 。如果任务运行时调用优先级抢占函数,此时状 态将变为r e a d y 。如果任务运行过程中等待某个条件,则状态变为w a i t ,如果执行完退出,则任务 的状态为d o r m a n t 。 ( 3 ) w a i t 状态 当任务等待一个事件,或者自己执行一个系统调用,会将当前任务置为w a i t 状态,当等待事件 完成后状态为r e a d y ,如果被其他程序s u s p e n d 则状态为w a i t s u s p e n d ,任务被终止状态为d o r m a n t 。 ( 4 ) w a i t _ s u s p e n d 状态 当任务处于w a i t 态的时如果被其它任务s u s p e n d ,该任务的状态就变为w a i ts u s p e n d 状态, 如果此时的任务的w a i t 态解除,则任务状态变为s u s p e n d ,相应地,任务的s u s p e n d 态解除,状态 将变为w a i t ,如果任务被强行终止,状态为d o r m a n t 。 ( 5 ) s u s p e n d 状态 如果当前任务被其它任务挂起,状态将变为s u s p e n d 。如果其它任务恢复它其状态将变为r e a d y , 如果任务被强行终止,其状态将变为d o r m a n t 。 2 2 2 2 内核调度 a s i x0 s 调度相对简单,系统中维护了多个就绪任务队列、一个延迟任务队列、多个等待队列。 1 就绪任务队列 a s i xo s 中任务的优先级有9 个,从1 到9 。系统定义了一个全局数组,共有9 个单元,分别代 表对应的优先级。每个优先级都维护着一个就绪队列。 a s i xo s 的调度策略就是,从最高优先级对应的就绪队列开始找起,如果该队列不为空,则取 它的头部的任务作为下一个将要运行的任务。如果队列为空,则寻找低一级优先级的队列,如此循 环操作,因此,a s i xo s 的调度机制有如下特点: ( 1 ) 它是静态优先级调度,但提供了系统调动态修改任务优先级。没有运行时间的概念,低优先级 的任务只有当高优先级的任务主动放弃c p u ,它才可能运行。 ( 2 ) 同等优先级的任务不能够轮转,但提供了系统调用来将当前任务放到队列的末尾。 2 等待队列 a s i x0 s 定义等待的状态按照原因可以分为:t t ws e m ( 信号量) 、t t wf l g ( 事件) 、t t wm b x ( 邮 箱) 、1 v r n s m b f ( 消息) 、t t w p l ( 共享内存) j l 种。举个例子,以t t w _ s e m 来说,它表示该任务 是因为对某信号量的操作而引起的。每个信号量都维护自己的等待队列。 4 。ill:jili 。i i i 第二章a s i xo s 文件系统实现平台 3 延迟任务队列 a s i x0 s 中维护了一个延迟任务队列,用来维护那些为了等待某操作而主动或者被动将自己挂 起的任务。等到时间一过,系统就会将该任务转移到就绪队列中去。 2 2 2 3 任务间通信与同步机制 a s i xo s 提供了提供了常用的任务间通信机制,有信号量( s e m a p h o r e ) 、事件标识( e v e n tf 1 a g ) 、 邮箱( m a i l b o x ) 、消息缓冲区( m e s s a g eb u f f e r ) 、内存池( m e o r yp 0 0 1 ) ,文件系统中用到的通信机 制主要有信号量和事件标志。 1 信号量 ( 本文中数据结构的数据类型原型定义见附录a ) 图2 2a s i xo s 信号量数据结构 信号量结构定义如图2 2 所示,结构中有两个值,u b s m p h m a x 表示引用该信号量的最多任务数, u b s m p h c n t 表示当前的剩余引用数( 即还有多少任务可以使用该信号量) 。信号量有两个操作相关的 系统调用及它们的流程: ( 1 ) t w a l 一s e m 该流程用来申请信号量。如果仍可引用,则信号量任务数u b s m p h c n t 一;如果引用已满( 即 u b s m p h c n t = = 0 ) ,则将当前任务置为等待信号量状态,等待标志为t t w - s e m 。将当前任务加入该信 号量对应的等待任务队列中去,然后由调度程序对运行任务进行重新调度。 ( 2 ) s i g _ s e m 该流程用来释放信号量。如果没有任务在等待该信号量,则将该信号量任务数u b s m p h c n t + + ; 如果有等待的任务,首先取消它的等待状态,然后将它从等待队列中删除,并添加到就绪任务队列 中去,然后由调度程序对运行任务进行重新调度。 2 事件标识 事件标识的数据结构定义如图2 3 所示: 图2 3 事件标志的数据结构 事件标识有三个相关系统调用及它们的流程: ( 1 ) t w a l f l g 首先,查看该f l a g 中是否有任务在等待,若有,则返回错误,因为只能有一个任务在等待。如 5 l i j。,。:。o i 0 o t 。j 。一东南大学硕士学位论文 果等待队列为空,则判断判断入口参数的等待模式。如果等待模式为o r ,则检查u h f l g p t n ,只要有 一位已经满足,则返回,这时如果设置了t w f c l r ,则把该位清0 。如果等待模式为a n d ,则检查 u h f l 驴t n ,只有所有位都满足i 一才返回,这时如果设置了t w f _ c l r ,则把该位清0 ; 如果没有满足条件,接下来判断用户设置的等待时间:如果等待时间为0 ,则返回。否则,将该 任务加入到该f l a g 的等待队列中,并标为t t n f l g 。如果等待时问不为无限制,则将该任务加入等 待队列中去,然后进行任务调度: ( 2 ) s 叭一f l g 首先,将新的标志位或到原来的u h f l g p t n 上去;如果没有等待的任务,则返回;否则,检查是 否符合该任务的等待条件( 0 r a n d ) ,如果不符合,则返回;若符合条件,则清除该任务的t t s w a i ( 等待事件) 态,及t t w _ f l g 标志。将已有的标志赋给任务的p f l g p t n :如果设置了t w f c l r ,则将 u h f l g p t n 清0 ;将该任务从等待队列中删除,添加到就绪任务队列;然后进行任务调度。 ( 3 ) c l r f l g 强制置位,只是赋值,不检查是否有等待的任务。 2 2g ar f e i d 硬件系统 本论文实现的硬件平台是g a r f i e l d 芯片,它是东南大学国家专用集成电路系统工程技术与研究 中心自主研发的基于a r m 7 t d m i 内核的1 6 3 2 位r i s c 型系列微处理器。g a r f i e l d 系统级芯片的研制 开发的目标就是能够以较低的成本在短时间内开发出中面向中低端产品的嵌入式手持式设备。 g a r f i e l d 芯片具有低功耗、低成本的优点。g a r f i e l d 系统级芯片的主要结构如图2 4 所示。 g a r f i e l d 系统级芯片提供了完备的通用外设接口,可以满足系统用户的各种需求,其中与文件 系统相关的设备和接口包括:( 1 ) 外部存储器接口( e m i ) ,支持c p u 对s r a m 、s d r a m 和f l a s h 等 存储设备的访问;( 2 ) d m a 控制器:( 3 ) 删c 卡控制器。 1 n t c l m l r 1 、(m m al c l ) ca r m 7 1 j ) m 】 g p l ( 4 ) _ = r互一_ = r 王一7互一 ( : p w m ( 2 : i :田1卜 s l i 二= 剽焉芝篙k 川p _ 。:;。 c il u r 1 、( 2 : jy ir d i艺l 二蔓。三一 u s e e s r a me mj c 1 i e n t i m m c a c 9 7 图2 4g a m e l d 系统硬件架构图 1 a r m 7 t d m i 内核 a r m 哺儿,全称为a d v a n c e dr i s cm a c h i n e s ,为英国a r m 公司开发一系列3 2 位通用微处理器 内核。a r m 处理器家族包括一系列不同配置、不同用途但指令集向上兼容的各种处理器,提供了一 整套适合于不同应用场合的低成本、低功耗、高性能的解决方案。a r m 7 t d m i 隅1 是a r m 处理器家庭中 使用最广泛的一款处理器核,标准字长3 2 位,使用a r m v 4 t 指令集,支持1 6 位a r mt h u m b 扩展指 令集( t 扩展) 和6 4 位高精度乘法乘加指令( m 扩展) ,另外支持e m b e d d e d i c e j t a g 接口和t a p 控制器接口,支持片上调试。a r m 7 t d m i 处理器使用较简单的三级流水线来增加指令的执行速度,允 6 rl 第二章a s i x0 s 文件系统实现平台 许多个操作步骤同时进行,同一条指令的数据运算和内存访问也可以连续进行。 在内存访问方面,a r m 7 t d m i 使用v o nn e u m a n n 晗结构,即指令和数据复用一条3 2 位内存总线, 并且仅有l o a d s t o r e s w a p 这三类指令可以访问内存中数据。这里数据均指无符号或有符号定点整 数,分别为8 位( 字节) 、1 6 位( 半字) 和3 2 位( 字) 。其中字为4 字节边界对齐,半字为2 字 节边界对齐。 a r m 7 t d m l 支持四种基本的内存访问周期,以达到最大程度的使用内存带宽,并且降低内存和总 线的占用。这四种访问周期为:空闲周期( i d l ec y c l e ) ,非顺序周期( n o n s e q u e n t i a lc y c l e ) , 顺序周期( s e q u e n t i a lc y c l e ) ,和协处理器寄存器传输周期。为了达到较低的生产成本,a r m 7 t d m i 中没有提供对内存管理( 删) 的支持,因此只能以较简单的线性内存地址模式访问外部存储器。为 了减少面积和功耗,a r m 7 t d m i 中没有集成高速缓存( c a c h e ) ,因此运行时的内存访问速度较低。 2 外部存储器接口( e m i ) 在g a r f i e l d 系统中,在片内存在2 0 k 的高速e s r a m ( e m b e d d e ds r a m ) ,a r m 7 t d m i 核可以直接对 其进行访问。除此之外,还存在片外存储器的接口,当a r m 7 t d m i 核对片外内存储器访问时,均需要 通过该接口,因此e m i 接口的性能对系统处理的速度影响很大。因此,g a r f i e l d 系统级芯片的e m i 接口控制器具有如下的特点: ( 1 ) 支持外部静态存储器( s r a m ) ; ( 2 ) 支持外部同步动态存储器( s d r a m ) ; ( 3 ) 支持外部非易失性存储器( f l a s h ,包括n a n d 和n o r 两种类型) ; ( 4 ) 支持访问的最大地址空间为2 5 6 m b ; ( 5 ) 支持8 位( 字= 符) ,1 6 位( 半字) 和3 2 位( 字) 存储器访问方式; ( 6 ) 支持s d r a m 白刷新。 3 删c 卡控制器接口 为了扩展系统的存储空问,在g a r f i e l d 系统中除了支持n o r 、n a n df l a s h 外,还支持大容量存 储的删c 卡。g a r f i e l d 系统删c 卡控制器有如下特点: ( 1 ) 支持与删c 卡协议完全兼容的卡; ( 2 ) 支持对卡的单块( s i n g l eb l o c k ) ,多块( m u l t ib l o c k ) 读写和擦除。 4 d m a 控制器 直接内存访问( d m a ) 方式,是一种完全由硬件执行i 0 交换的二 作方式。在这种方式中,d m a 控制器从c p u 完全接管对总线的控制,数据交换不经过c p u ,直接在存储器,外设之间进行。d m a 方式一般用于高速传送成组的数据。d m a 控制器完成的工作包括:发出地址和控制信号,修改地址, 对传送的字的个数计数,并且以中断方式向c p u 报告传送操作的结束。g a r f i e l d 系统d m a 控制器有 如下特点: ( 1 ) 6 个d m a 通道。均可支持双向传输; ( 2 ) 支持存储器到外设,外设到存储器,存储器到存储器和外设到外设的传输。 ( 3 ) 支持s i n g l e 和b u r s t 传输,b u r s t 传输的尺寸可配置; ( 4 ) 支持8 ,1 6 和3 2 b i t 宽度的传输; ( 5 ) 支持中断传输。 7 、,、 1、,ll 东南大学硕士学位论文 第三章a s i xo s 文件系统的设计 本章首先介绍f a t 文件系统的设计原理,然后介绍采用f a t l 6 文件系统的结构的a s i x0 s 文件 系统的具体实现。a s i x0 s 文件系统的实现包括存储设备管理模块、文件管理模块、文件系统的应 用接口( a p i ) 模块、文件系统的容错机制以及保护机制的设计。 3 1 嵌入式文件系统综述 目前,嵌入式操作系统主要有u c l i n u x ,v x w o r k s ,n u c l e u s ,w i n c e ,d e l t a o s 等,它们都有各 自的文件系统,v x w o r k s 支持t o r n a d o 的t r u e f f s 。w i n c e 、n u c l e u s 支持f a t 系列文件系统。d e l t a 0 s 支持d e l t a f i l e 文件系统。u c l i n u x 支持文件系统包括e x t 2 、j f f s 、c r a m f s 、r o m f s 及r a m f s 等。 3 1 1t r u e f f s 文件系统 t o r n a d o 的t r u e f f s 主要有核心层和三个功能层:翻译层、m t d 层、s o c k e t 层组成1 0 1 。 图3 1t r u e f f s 结构图图3 2d e l t a f i l e 文件系统组织结构图 如图3 1 所示,核心层主要有连接其他j 乙层的功能。翻译层主要实现t r u e f f s 和m s d o s 之间的 高级交互功能,它也包含了控制f l a s h 映射到块、碎片回收和数据完整性所需的智能化处理功能。 s o c k e t 层则是提供t r u e f f s 和块设备的接口服务。m t d 层功能主要是实现对具体的f l a s h 进行读、 写、擦、i d 识别等驱动。 3 1 2d e l t a f i l e 文件系统 d e l t a 0 s 是科银京成开发的嵌入式实时操作系统1 ,支持3 2 位处理器。d e l t a f i l e 是d e l t a 0 s 自身的d e l t a f i l e 文件系统,d e l t a f i l e 具备存储设备管理机制,它可以使系统在运行中动态添加 和卸载存储设备。d e l t a f i l e 的逻辑文件管理系统可以支持多种逻辑文件格式,见图3 2 。 3 1 3e x t 2 文件系统 e x t 2 是u c l i n u x 上的流行的文件系统,e x t 2 文件系统的布局1 3 如图3 3 所示。对e x t 2 文 件系统来说,物理设备分区首先被划分为多个块,一个e x t 2 文件系统上的每个块大小一样,典型的 块大小是1 0 2 4 字节或4 0 9 6 字节。 8 茎圈 pf- :第三章a s i x o s 皮件系统的设计 超级块组描述符 蹲函一陋祗位叫索引节点表 数据块 图3 3e x t 2 文件系统布局 超级块,它位于物理设各分区开头( 开头的第一个字节是b y t e0 ) 从b y t e l 0 2 4 开始往后的一 部分数据。超级块是文件系统的头部,它包含文件系统的状态、尺寸和空闲磁盘块等信息。 多个块被聚在一起成块组。每个块组中块是固定的。每个块组都相对应一个组描述符,这些组 描述符被聚在一起放在物理设备分区的开头部分,跟在超级块的后面。每个块组都有对应的块位图, 块位图中的每个位表示一个块,如果该位为0 ,表示该块中有数据。 e x t 2 文件系统利用索引节点来描述文件系统的拓扑结构。每个文件对应一个索引节点,文件系 统所有的文件的索引节点保存在索引节点表中。e x t 2 中还有一个节点位图,这个位图同样也是正好 有一个块那么大,里面的每一位相对应一个节点。硬盘上的一个节点大体上相对应于文件系统上的 一个文件或者目录。全部节点放在一起形成节点表,每个节点记载其对应的文件的数据的扇区位置。 3 1 4j f f s 文件系统 j o u m a l i n gf l a s hf s 15 1 ,它是嵌入式存储设备n a s h 上专用的日志文件系统。日志文件系统是一 种特殊的文件系统,它的设计宗旨就是有效的防止非正常断电对文件系统的破坏,使文件崩溃后能 够迅速地恢复。日志文件系统采用一种记日志的方法来解决这个传统文件系统的缺陷”】【1 们。每次对 文件的修改都记录在这个文件的尾部,不经过磁盘缓冲直接写回磁盘。这样,在非正常断电导致文 件系统破坏后,我们只要查看日志文件系统的尾部,就能够找到系统断电前的状态,恢复系统。 数据块的文件挖制结构 图3 4j f f s 文件系统组织图 j f f s 文件系统结合f l a s h 的存储特性对日志文件系统进行简化,图3 4 是其内部结构图。在j f f s 中,文件由若干块数据区组成。这些数据区物理地址可能相邻,也可能不相邻,每个数据区的大小 不超过f 1 a s h 设备的块大小。每个数据区由一个固定大小的文件数据控制块和文件的部分数据组成。 当对文件的某个数据区的数据进行了修改后,不直接把修改的数据写回原来的地址,而是在f l a s h 的尾部申请一块可用的区域来存放修改后的数据,并把原来的数据标记为“脏”区。这样在日志文 件的尾部记录了文件系统的最新状态,同时结合f l a s h 的存储特性,省去了写之前擦除的费时操作。 当f l a s h 上的“脏”区占用的空间达到了一定的数量,或者系统中的可用空间小于某个数量,系统 会激活一个垃圾清除进程,擦除日志头部“脏”区,是设备能够成为一个循环的日志使用。 9 东南大学硕士学位论文 3 2 a s i xo s 文件系统原理 3 2 1f a t 文件系统原理 1 f a t 文件系统存储结构 图3 5 所示f a t l 6 文件系统结构图,f a t 文件系统管理的设备由6 部分组成口刀n 引。首先是引导 扇区,每个文件系统都应该留有引导扇区,它在物理设备上是第l 扇区。其后紧随的便是f a t 表,可 以有其备份的表。接着是根文件夹即根目录,其后是数据区,即文件系统管理的数据区的起始位置。 f 觚文件系统是按簇管理物理设备,并且每簇都是2 的整数次幂个扇区,所以有可能出现未被文件 系统识别的扇区即图中的剩余扇区。 图3 5f a t l 6 文件系统结构图 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 l 2 用两个字节中的1 2 位表示一个表项,f a t l 6 用两个字节表示一个表项,f a t 3 2 用四个字节表示一个表项。图3 6 是f a t l 6 文件系统f a t 表的部分内容( 表中所有数值均为1 6 进制) 。 0 x c 】2 3 q 5 e7 基 g ae o x f f f cf f f f0 0 0 30 0 0 4f f f ff f f 70 0 0 7o 0 0 80 0 0 60 0 0 0 0 0 co 0 0 0 图3 6f a t 表结构图( 部分) 图3 6 中第1 行表示即汀表表项,顺序为0 ,1 ,2 ,2 5 6 水( f a t 所占的扇区大小) 。f a t 表 的第2 行表示的是对应文件簇的分配情况:0 0 0 0 表示未分配的簇;0 0 0 2 一f f e f 表示已分配的簇; f f f 0 一f f f 6 为系统保留;f f f 7 表示坏簇,不可以读写:f f f 8 一f f f f 表示文件结束簇。 文件分配表里面的内容是文件所有数据的簇链,根据f a t 表中的内容可以找到文件内容所在。 例如,图3 6 中f a t 中第0 项是介质描述单元,固定值0 x f f f d 。文件数据管理从第1 项开始,其值 为0 x f f f f ,表示从第一簇起始的文件是个小文件,仅一簇就放下。f a t 表第2 项值为0 x o 0 0 3 ,如果 某个文件内容从第2 簇开始存放,那么它的下簇内容在第3 簇,再下一簇的内容在第4 簇,f a t 表 第4 项内容为0 x f f f f ,表示该文件结束。第5 项内容为f f f 7 ,表示该簇是坏簇,不可存放数据。 3 根目录与子目录 在f a t 3 2 文件系统中,根目录与子目录一样就是普通的文件,根目录的大小是不固定的,位于 f a t 表后面。在f a t l 6 文件系统中,规定根目录是是位于f a t 表后固定的3 2 个扇区。但子目录与文 件一样同处于数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全培训教具课件
- High-density-lipoprotein-human-HDL-human-生命科学试剂-MCE
- 房屋抵顶工程款协议书6篇
- 2025年ABS专用料合作协议书
- 2025甘肃天水市武山县人力资源和社会保障局招聘城镇公益性岗位人员7人模拟试卷完整答案详解
- 2025年菏泽单县教体系统第四次引进高层次人才(110名)考前自测高频考点模拟试题及答案详解(新)
- 2025年光导纤维导光环项目发展计划
- 确保信息安全和隐秘保护承诺书5篇范文
- 小学交通安全培训签到表课件
- 2025广东华兴银行实习生招聘模拟试卷附答案详解(黄金题型)
- 贷款中介签服务合同模板(3篇)
- 送教上门教师培训课件
- 急性宫外孕课件
- 贵阳市2026届高三年级摸底考试物理试卷(含答案)
- 美发编发基础知识培训课件
- 同期线损培训课件
- 工业相机原理 课件 第五章-工业相机的参数和工作模式
- 反诈知识竞赛试题及答案
- 钢筋加工棚租赁合同范本
- 2025年电梯检验员资格考试历年真题及答案试题试卷(含解析)
- 眼整形课件教学课件
评论
0/150
提交评论