




已阅读5页,还剩72页未读, 继续免费阅读
(计算机软件与理论专业论文)uitron平台研究及其文件系统的实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着嵌入式技术的发展,嵌入式内核接口的标准化设计已成为一个不可忽视 的问题,另外嵌入系统存储能力的迅速提高,对于复杂的数据资源的需要管理, 嵌入式文件系统的研究和实现就显得尤为重要。本论文是所做的工作如下: 首先,研究嵌入式u l t r o n 实时系统。包含嵌入式软件内核的开发需要统一 的接口规范,有利于提高开发效率和软件的可移植性,文中主要描述u l t r o n 平 台的接口规范、标准化的a p i 函数设计以及使用的方法,便于在平台上的软件开 发。 其次,设计并实现了基于u l t r o n 实时内核的文件系统,分成三个部分:虚 拟文件系统,高速缓存管理,f a t 文件系统的实现。在虚拟文件系统部分中,主 要是提供给用户统一的p o s i x 接口,便于用户操作,另外可以注册各种需要的文 件系统,有利于嵌入式文件系统的扩充,可以对各种不同的文件系统进行操作; 高速缓存管理部分,除掉了通用文件系统高速缓存的机制,只使用了磁盘读写页 缓存和缓存f a t 表来提高文件的查找速度和提高磁盘的访问效率;f a t 文件系统 部分,是基于f l a s hm e m o r y ,支持f a t l 2 ,f a t l 6 和f a t 3 2 三种格式存储的数据 文件,兼容m s d o c 短文件名,同时支持u n i x 长文件名。这样文件系统可以使 用在各种不同的存储设备。 最后,运用各种测试方法对文件系统进行测试,从而很好的检测了文件系统 的功能、性能以及各项性能指标。包含功能测试、黑白盒测试和压力测试等。接 着对文件系统的单个性能和总体性能进行评估,分析u l t r o n 文件系统有缺点分 析。其中性能分析包含单个性能和总体性能。 本文详细讨论了u l t r o n 实时内核规范,以及基于u i t r o n 上文件系统结构 特征,总体设计和实现的具体技术。 关键字:u l t r o n , 文件系统,页缓存,v f s ,f a t a b s t r a c t w i t hd e v e l o p m e n to fe m b e d d e dt e c h n o l o g y , i ti sv e r y i m p o r t a n tt od e s i g nt h e c r i t e r i ao fa p i sf o re m b e d d e dk e r n e l i no t h e rh a n d ,i ti sm o r ei m p o r t a n tt or e s e a r c ha n d d e v e l o pf i l es y s t e mi nt h ee m b e d d e dp l a t f o r mw h e nt h em o r es t o r a g es p a c en e e d sm o r e c o m p l e xm a n a g e m e n tf o rd a t a m yw o r k i ss h o w na sf o l l o w si nt h ep a p e r a tf i r s t ,t h eu l t r o np l a t f o r mi sr e s e a r c h e di n c l u d i n gau n i f o r ma p i ss p e c i f i c a t i o no f e m b e d d e ds y s t e m au n i f o r ma p i ss p e c i f i c a t i o na b o u te m b e d d e dk e r n e l sd e v e l o p m e n t c , a nb eo fa d v a n t a g et oi m p r o v ed e v e l o p i n ge f f i c i e n c ya n dp o r t i n ga b i l i t yo fe m b e d d e d s o f t w a r e ,t h et h e s i sd e s c r i b e sm a i n l yt h ea p i so nu l t r o np l a t f o r m ,t h ec r i t e r i aa p i s d e s i g na n d t h e i ru s a g e b yt h i sm e t h o d , t h ep r o g r a m m e rc a nu s et h e s ea p i c o n v e n i e n t l y s e c o n d l y , b a s e do nu l t r o np l a t f o r mt od e s i g na n di m p l e m e n tae m b e d d e df i l e s y s t e mc a nb ed i v i d e di n t ot h r e ep a r t si n c l u d i n gv i r t u a lf i l es y s t e m ,c a c h ea n d f a tf i l e s y s t e m t h ef u n c t i o no fv i r t u a lf i l es y s t e mi st os u p p o r t as e r i a lp o s i xi n t e r f a c ef o r u s e ra n dr e g i s t e ro ru n r e g i s t e rak i n do ff i l es y s t e mt oe x t e n de m b e d d e df i l es y s t e m t h e p a r to fc a c h em a n a g e m e n tc a ni m p r o v ee f f i c i e n c yf o ra c c e s s i n gt h eb l o c kd e v i c ea n d s e a r c h i n gaf i l e ,t h e r ea r et w on e wp o i n t s ,f i r s t l yt h ec a c h ec a nb er e g i s t e r e da n d u n r e g i s t e r e da ta n yt i m e ,s e c o n d l yw er e f i n et h ef l o wo fc a c h ei nl i n u xp l a t f o r m w h a ti st h em o s ti m p o r t a n t ;t h et h i r dp a r to ff a tf i l es y s t e mc a ns u p p o r tt h r e ed a t a f o r m a tt y p e si n c l u d i n gf a t l 2 ,f a t l 6a n df a l 3 2 m e a n w h i l et h ef i l es y s t e mc a n s u p p o r ts h o r tn a m ea n dl o n gn a m e i na d d i t i o n t h ee m b e d d e d f i l es y s t e mc a nb eu s e dt o a c c 麟m a n yb l o c kd e v i c e s ,s u c ha sr a m d i s k ,s dc a r da n d s oo n l a s t l y , w et e s t e dt h ef u n c t i o no ff i l es y s t e mb ya nk i n d so ft e s tm e t h o d s s u c ha s f u n c t i o nt e s t , s f f e s st e s t , m u l t i - t a s kt e s ta n d o n i na d d i t i o n w ee v a l u a t e dt h ef u n c t i o n o ff i l es y s t e mt oa n a l y z ew e a k n e s sa n ds t r e n g t ho fe m b e d d e df i l es y s t e mw h i c hw a s d e v e l o p e d , i n c l u d i n gs i n g l ec a p a b i l i t ya n d w h o l ec a p a b l i t yo ff i l es y s t e m i na w o r d ,w ed i s c u s s e da b o u tr t o ss p e c i f i c a t i o n ,s t r u c t u r eo fe m b e d d e df i l es y s t e m a n dt e c h n o l o g yf o rw h o l ed e s i g no nt h eu i t r o np l a t f o r m k e y w o r d s :u i t r o n ,f i l es y s t e m ,p a g ec a c h e ,v f s ,f a t 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:盔试整日期:川年陟月乍日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:互础导师签名:掣 日期:“年,明,日 第一章绪论 1 1 嵌入式系统的发展 第一章绪论 嵌入式系统并不是最近几天才提出的新概念,它的历史几乎和计算机自身的 历史一样长。嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可以 裁减,适应系统对功能、可靠性、成本、体积、功耗严格要求的专门计算机系统。 实时操作系统( r e a l t i m eo p e r a t i n gs y s t e mr t o s ) 的研究最早是从六十年 代开始的,最早发源于欧洲和北美洲,我们基本是从2 0 世纪8 0 年代以后才正式 涉及实时系统的研究领域。随着半导体工艺的发展和芯片设计水平的进步,嵌入 式实时操作系统得到了飞速发展,从支持8 位到6 4 位微处理器;从支持单一品种 的微处理器芯片到支持多品种的微处理器芯片。r t o s 的出现,体现了一种新的系 统设计思想和一个开放的软件框架,工程师可以在不大量变动系统其他任务的情 况下增加或删除一个任务,从而使相应的系统增加和删除一些功能,在一个项目 的开发过程中,可以有多个软件工程师同时进行软件的开发,各个工程师之间只 要制订好规范和协议即可。这样不但缩短了开发时间,又降低了应用软件产品对 于某个开发者的依赖。为r t o s 设计的成熟和通用的功能模块可以以库函数的形式 提供给应用程序开发者使用,这样是嵌入式软件的编写从“小作坊生产方式”到 “大规模流水线生产方式”的转变,提高嵌入式软件的编写效率“1 。 不同大小的嵌入式系统要求不同的r t o s 特征,小的常常是降低功能和增加程 序的大小,另一方面,高性能的0 s 常常用于大规模的嵌入式系统,这样有助于改 进软件的开发效率。从上可以看出,r t o s 的要求不同于依赖于每个嵌入式系统的 规模和必要的性能,为每个应用的规模和要求的性能定义一个r t o s 说明书是可能 的。然而,思考软件工程师的培训,软件开发周期开发工具,定义一个能动的o s 说明。 以下总结了r t o s 在嵌入式系统上的要求: ( 1 ) 最大程度发挥硬件的功能; ( 2 ) 充分发挥软件的效率: ( 3 ) 适应于各种规格系统。 电子科技大学硕士论文 1 2u i i r o n 的简述 t r o n ( t h er e a l t i m eo p e r a t i n gs y s t e mn u c l e u s ) 是由日本推出的实时操作 系统接口规范,主要用于工业控制和通信领域,以保证系统的高可靠性和实时性。 t r o n 协会成立于1 9 8 3 年,致力于研究开发用于工业控制的t r o n 规范。t r o n 对有 利于学习和培训的各种特征标志都进行了标准化,而影响实时性的方面并未标准 化,所以实际上是“有一点自由度”的规范,在日本的市场占有率达到6 0 以上, 并且逐年上升之趋势,已成为日本事实上的工业标准。u i t r o n 是m i c r oi t r o n 的 意思,是针对硬件资源限制的小规模嵌入式系统设计的精简版i t r o n ,u i t r o n 定 义了一个高度灵活、开放、特别为嵌入式系统应用设计的计算机体系结构,兼顾 向下和向上兼容,至于具体实现具有一定的灵活性,遵循该规范能够使开发成本 最小化,降低培训费用,提高程序的兼容性、可移植性。 2 0 0 2 年6 月成立的t - e n g i n e 论坛,更是进一步推进t r o n 操作系统的标准化 研究和推广。t - e n g i n e 论坛是一个开发并推进t - e n g i n e 标准化的业界团体,成 员企业已超过3 0 家,包括n t t 数字、n 订d o c o m o 、o k i 、k d d i 研究所、夏普、大 日本印刷、东芝、n e c 、日立、松下、富士通、三菱电机、雅马哈、r s a 保安和理 光等。t - - e n g i n e 是提供嵌入式设备使用的开放式开发平台,由坂村健教授开发的 基于t r o n 的实时操作系统以及中间间组成。该组织计划共同研发用于电子产品的 半导体、相关软件,并力促日本自行研发的操作系统t r o n ,成为各家厂商电子产 品的标准操作系统,以节约研发经费,降低产品成本。该组织除力推t r o n 系统的 标准化,也将研发数码家电,并将其标准化,而相关规格将免费公开予添加协议的 各家企业。 对于u t r o n 的支持不仅是日本的公司,也有美国嵌入式系统业界著名的公司, 如c y g n u s 公司推出兼容u t r o n 3 。0 的e c o s ,它的a p i 接口都符合i t r o n 标准,a t i 公司将其n u c l e u sp l u s 纳入u t r o n 规范;u s 公司也已经推出符合u i t r o n 规范的 t r o n t a s k 实时多任务操作系统。2 0 0 3 年9 月,微软加入t r o n 阵营,并使其o s “w i n d o w sc e ”符合t r o n 接口标准,并与之兼容。具体实现是:向t - e n g i n e 移 植到w i n d o v sc e 。n e t ,大致有两种方法。方法一:将插入与任务安排交由t - k e r n e l 处理,内存与其他硬件资源对于半分割;方法二:将w i n d o v sc e 。n e t 作为一个 程序在t - k e r n e l 上运行。前者只需对w i n d o v sc e 。n e t 的内核进行部分修改就可 以经由t - k e n e l 实现插入及任务安排,但需要对硬件资源分割以及对应的设备驱 2 第一章绪论 动的双重管理等,因此加大了开发人员的负担;后者,尽管硬件控制与设备驱动 开发都通过t k e r n e l 实现了一体化,但为了使w i n d o w sc e 。n e t 的内核能够在 t k e r n e l 的a p i 上运行,需要对w i n d o w sc e 。n e t 的内核进行全面的改写。因此 微软的策略是通过前者实现产品化,最终目标是后者。 总之,i t r o n 在移动设备、数码相机。家电等消费电子产品上的巨大成就和越 来越多的厂商支持,表明i t r o n 极有潜力成为嵌入式r t 0 s 的国际标准“1 。 1 3 嵌入式文件系统的功能与特点 文件系统是操作系统的重要组成部分,用于控制对数据文件及设备的存取。它 提供对文件和目录分层组织形式,数据缓冲( 对于实时系统,可以没有缓冲) ,以 及对文件存取权限的控制。 实时应用要求快速,可靠的操作系统支持,嵌入式文件系统通过的代价的i o 功能提供这种支持,它包含许多高速,高效,简洁的功能。这使得一个应用程序可以 快捷有效完成它需要的功能。部分典型功能藐视如下: ( 1 ) 短中断等待。嵌入式文件系统对于设备中断采取高效的处理方式,使得 紧急情况的实时设备中断不会丢失。 ( 2 ) 嵌入式文件系统使用一些桌面操作系统使用的通用设备,如标准的输入 输出设备 ( 3 ) 支持通用的系统调用结构,这种结构可以将设备操作和界面管理简单化, 同时,可以使用这种系统调用方式驱动任何设备。 ( 4 ) 嵌入式文件系统提供多种的设备驱动程序,包括标准的p c 设备,如硬盘 和r a m 盘驱动程序,同时支持s d 卡等设备 实时操作系统文件系统的系统设计目标: ( 1 ) 使用简单方便。用户只需知道文件名,路径名等简单信息就可以使用文件, 不必知道文件具体是如何存储在物理设备上,以及系统是怎样处理这些文件的打 开,关闭等操作。这些操作都交给文件系统完成。 ( 2 ) 安全可靠。对文件,数据的保护是文件系统的基本功能。嵌入式系统的 应用领域都要求高可靠性,文件系统应满足高可靠性的要求,基于这样的目的, 文件系统应该具有安全性,一致性,有效性的规范嘲。 ( 3 ) 实时响应。系统的实时性能是嵌入式操作系统的重要特征之一,它要求 3 电子科技大学硕士论文 嵌入式实时操作系统内核对内部和外部的响应时间确定。文件系统满足实时性的 要求,提供缩短响应时间的机制和策略。 ( 4 ) 对多任务的支持。嵌入式文件系统利用操作系统提供的信号量机制支持 对多任务的运行,允许有多个任务同时读写的情况。 ( 5 ) 接口标准的开放性和可移植性。嵌入式应用的领域非常广泛,所以采用的 实时操作系统和硬件环境也千差万别,为了适应这种差异性,接口的标准化尤其 重要嘲。 ( 6 ) 可伸缩和可配置性。嵌入式设计具有特定性,因此,相应的软件应该很 灵活,以适应变化的硬件环境,并包含特定需要部分。 ( 7 ) 开放性的体系结构。文件系统组件应该具有开发的体系结构,支持各种 具体的文件系统,并提供目前主流文件系统。 1 4 课题来源和选题依据 课题来源于中国科学院软件所国际合作部,给日本某著名跨国公司提供基本 u l t r o n 文件系统的开发。 本课题旨在研究u l t r o n 实时操作系统和设计高效的嵌入式文件系统用于电子 产品中,作为嵌入式产品组件,它对内提供高效的逻辑文件系统管理,对外提供 主流的存储介质的支持和对用户提供统一,标准的编程接口。它是u l t r o n 内核的 扩张,但是要保证文件系统不能给实时内核带来负面影响和与内核直接合理有效 的利用系统资源。 另外,因为开发的嵌入式文件系统是要用到产品中,版权和专利的因素就显 得尤为重要了,设计的时候要避免侵犯了其他的版权和自身的独创性。 1 5 论文内容安排和主要工作 本文主要讲述对了u l t r o n 标准化的研究和基于u l t r o n 实时内核文件系统的 实现。 第一章:介绍嵌入式发展的基本情况和对于u l t r o n 基本情况的介绍,特别是 对于接口的介绍。 第二章:对于u l t r o n 内核标准做了深入的研究,阐明嵌入式内核标准化的趋 4 第一章绪论 势和必要性,最后对于标准化a p i 做了探索性的研究。 第三章:基于u i t r o n 平台设计了一个便于文件系统扩张性的虚拟文件系统, 接着具体阐述在u i t r o n 虚拟文件系统实现的数据结构,基本函数和对上下的接口。 本章工作按照p o s i x 接口规范,用户接口函数,为了便于嵌入式文件系统的扩张, 实现了v f s 虚拟文件系统,设计的优点在于和l i n u x 虚拟文件系统同样具有便于 文件系统扩张,但是同时具有简洁,效率高,满足了嵌入式文件系统的需要。 第四章:首先研究缓存的基本概况和分别讨论了各种页面替换算法在缓存管 理过程中地使用情况;其次,研究了在l i n u x 下各种缓存的设计及其优点。最后 结合的研究成果,设计了一个新的高速缓存管理。很好的实现系统效率。 第五章:文件系统的实现,主要是f a t 格式文件系统的设计和实现。因为该 文件系统是需要用到产品中,我们抛开了l i n u x 操作系统的相关实现,按照f a t 文 件系统的规范实现了f a t 文件系统,这也是嵌入式文件系统的主要部分。 第六章:基于u i t r o n 文件系统的功能验证和性能分析比较,从这些分析中得 到文件系统的有缺点便于以后的改进。 第七章:总结论文的成果物,特色与技术创新及其不足,以后研究的方向。 本文的特色和创新点如下: ( 1 ) 对于u i t r o n 实时内核的研究国内还是很少,另外基于u i t r o n 实时内核 标准的实现的文件系统更是很少。 ( 2 ) 基于u i t r o n 实现的文件系统,首先实现了虚拟文件系统,提供了p o s i x 标准的统一接口,便于应用程序编写着的学习时间;其次提供了一个开放文件系统 架构,在升级文件系统的时候,只需加入新的格式支持,缩短了开发时间,另外 在这部分中具有了l i u n x 虚拟文件系统的优点,但是在实现上更为简单,同时也满 足了嵌入式文件系统的需要。 ( 3 ) 在高速缓存管理中,白行设计了具有其他文件系统高速缓存的功能,既满 足嵌入式系统的需要,同时实现了很好的缓存功能,并具有很好的编译选项,用 户可以根据系统需要选择是否需要高速缓存管理和缓存的大小,实现了l r u 算法的 块缓存,提高了文件系统和块设备访问效率。 ( 4 ) 在f a t 格式文件系统中,这部分是按照照f a t 格式规范,自行实现具有 可以访问f a t 格式的数据,并且实现了支持多任务支持和长命和短名支持,其中对 于锁资源可以任意资源的分配也是可以选择,很好适应嵌入式需要和资源的合理 有效利用,在文件的读写中用了锁的机制,从而实现了多任务操作。 5 电子科技大学硕士论文 第二章u it r o n 实时内核的规范研究 r t o s 的引入解决了嵌入式软件开发标准的难题,促进了嵌入式开发软件的模 块化和可移植化,为软件工程化管理打下基础。日本的i t r o n 协会推出了i t r o n 作为实时操作系统接口定义规范,主要用于工业控制和通信领域,以保证系统的 高可靠性和实时性,不过i t r o n 规范应用主要还是限于日本国内。 本章主要讨论r t o s 标准化研究的主要内容,然后讨论u l t r o n 的标准化接口, 以及它的内核实现原理。 2 1r t o s 标准化研究的主要内容 实时0 s 技术规范的差别大以及品种繁多,使r t o s 的标准成为一个问题。另 外低档微控制器硬件资源的欠缺,也使得软件开发成为难题。目前r t o s 开发应用 中遇到的主要问题“: ( 1 ) 不同厂家的操作系统间应用编程接口不统一,应用程序的可移植性差; ( 2 ) 各操作系统在代码编写、数据参数、控制方法、网络协议等方面存在一 定差异,导致信息交互出现障碍,系统间联网困难和系统之间兼容性差; ( 3 ) 实时0 s 的技术指标不统一,可重用性差; ( 4 ) 不同厂家的r t o s 的用户界面风格差别较大,增加了用户的使用难度; ( 5 ) 特定的r t o s 由于应用面和用户数量的限制,配套应用软件的发展还未成 规模; ( 6 ) 各硬件设备配合某一特定的实时0 s 的标准设备驱动程序较少。 基于上面问题,需要实行r t o s 的标准化,可能制约嵌入式实时操作系统产业 的开发和应用推广。当前r t o s 的标准化研究的主要问题是r t o s 技术规范的标准 化,即形成统一的r t o s 技术规范,主要研究包含: ( 1 ) 实时o s 标准化体系研究,它主要对实时操作系统的标准化进行了全面论 证,并提出了相关的技术路线和标准体系; ( 2 ) 实时0 s 的接口规范以及应用编程界面a p i 的标准化; ( 3 ) 实时0 s 的系统桌面系统技术规范的研究; 6 第二章u l t r o n 实时内核的规范研究 ( 4 ) 实时0 s 的服务器系统技术要求规范研究; ( 5 ) 实时0 s 系统用户界面规范的标准化研究。 实时操作系统的应用编程界面a p i 不仅与应用程序交互,而且直接与实时操 作系统内核交流,是二者的桥梁。本文主要针对实时操作系统的接口规范和a p i 标准化相关研究。 2 2i t r o n 规范 i t r o n 是t r o n ( t h er e a l t i m eo p e r a t i n gs y s t e mn u c l u e s ) 计划在操作系 统层对应的子项目,目的是在为在工业领域应用的嵌入式系统提供一个实时多任 务操作系统规范。u l t r o n 规范是i t r o n 规范高度压缩后的一个版本。i t r o n 主要 特点是在各个不同的处理器上实现良好的实时性能,它不遵从虚拟机模型,也没 有严格的标准化( i t r o n 规范没有采用虚拟机模型和严格的标准化是出于这样考 虑:避免不必要的函数功能开销,在实时操作系统领域中贯彻t r o n 计划的理念一一 “弱化标准”,以获得更高的系统性能和更小的目标代码规模) ;另外一个特点就 是i t r o n 规范的可裁减性,尽管规范定义了大量的功能接口,但在系统真正实现 的时可以根据需要进行裁减,使目标代码变得更加紧凑,这是t r o n 规范的主要思 想如下: ( 1 ) 没有虚拟机 其用意是分别在各个不同的处理器上实现遵从i t r o n 规范的操作系统,开发 一个标准的操作系统,通常是要建立在一个虚拟机以屏蔽处理器硬件的不同,在 虚拟机上实现操作系统。但是这样做法是系统的实时性能受到影响,因为各个处 理器由于其自身体系结构的不同,虚拟机将有很多额外开销,为了最求最佳性能, 实时操作系统需要最大化利用硬件资源,避免虚拟机上的额外开销m 。而且从嵌入 式应用的本身特点来看,代码的重用不是很重要,重要的是对系统调用接口的标 准化,这样开发者只需学习一次就可以在各个处理器上开发嵌入式应用。因此, i t r o n 规范被分成与处理器相关和与处理器无关的两个部分。 ( 2 ) 功能全面 i r t o n 规范定义了非常全面的系统调用接口,像同步机制包含事件标示、信号 量以及任务相关同步函数( s l pt s k 和w u p _ t s k 系统调用) 。程序员可以根据特定 的应用选择这些功能,以提高系统性能和简化编程。 7 电子科技大学硕士论文 ( 3 ) 及时响应 在实时应用中,操作系统的中任务切换和启动中断处理部分影响系统响应速 度的关键。i t r o n 规范使任务分派和切换非常快,它只保存和恢复必要特定寄存器 以提高速度。当一个外部中断产生时,一个用户自定义的中断处理程序直接被硬 件触发而无需操作系统的介入,因而中断开销基本为零。 ( 4 ) 适应性强 i t r o n 规范是一个操作系统的体系结构,因为是为嵌入式应用开发,所以它具 有高度灵活和适应性。用户可以根据需要自由选择各个系统调用,并且许多系统 调用都有若干选项,出错检查等可供选择,使操作系统真正满足不同用户需要。 ( 5 ) 易学习性 易学习性是i t r o n 规范设计理念的一部分,也可以把它看作规范功能的一部 分。在i t r o n 规范中,系统调用接口的命名遵从一定规则。系统调用名字通常由7 个字母组成。形式如:x x x _ y y y ,x x x 代表一种操作。y y y 部分指示操作对象。x x x 和y y y 的含义在表中列出。既然i t r o n 规范操作系统的用户可以在各个不同的处 理器上实现,那么当处理器改变时,因为系统调用接口都一样,这是一个在实际 编程开发中比较突出的优点”1 。 不过,尽管i t r o n 规范有很多有点,但是选用i t r o n 的用户并不多,在日本 外的地区,人们首选的r t o s 还是l i n u x 、w i n d o w sc e 以及v x w o r k s 等。 2 2 ,1a p i 命名规则 在r t o s 规范中,系统调用接口的命名规则遵从一定的规则,本规则兼容i t r o n 规范。系统调用名字通常采用下面的形式x x x _ y y y 的形式,其中x x x 表示操作方 法,y y y 表示x x x 操作方法的对象,如图下图2 - 1 所示: 固团匡三田 团回匡三l 田 器嚣呈产 图2 - 1a p i 命名规则举例 8 第二章u l t r o n 实时内核的规范研究 2 2 2 层次化、可伸缩的体系结构 标准化的r t o s 的一个较为理想的概念模型是4 层体系结构,如x x x x x x 所示, 包含硬件抽象层、内核层、系统层和软件抽象层。 ( 1 ) 硬件抽象层:提供r t o s 与嵌入式硬件系统的接口。该层是为了隔离具有 硬件特性而设计,使得r t 0 s 在不同硬件平台上移植方便。 ( 2 ) 内核层;内核层是嵌入式操作系统的基础,内核精小,控制在非常小的 代码内,并能运行多种嵌入式处理器架构上。内核针对应用提供几种最基本的操 作。如程序装载与运行、任务管理、时钟管理、中断管理等 ( 3 ) 系统层:系统层的功能模块化和对象化,它提供面向对象的系统资源管 理功能,如内存管理、文件与目录管理、设备管理、网络协议管理等。并根据实 际应用的需要从标准的配置库中选择功能模块或部件。每个系统级模块提供了标 准化的a p i 接口,向用户开放,便于在其上扩充新的功能。 ( 4 ) 软件抽象层:与操作系统为了隔离具体的硬件环境而设计出硬件抽象层 内似,软件抽象层的功能是为了隔离下层所使用的不同操作系统,从而给程序员 提供一个与下层具体操作系统无关的统一接口”。因此,此层提供的接口就是基于 系统功能的、面向应用的系统功能调用与服务接口。 标准化的r t o s 体系结构如图2 - 2 所示: 软件抽象层 系统层 用户态 硬件抽象层 f 盯锚拆糍接口 l 核心态 睦,。涨作孬跨蠹为撬一。i i 板级初l 设备驱i 板级支i 其他驱l i 始化l 动程序l 持b s p 包i 动 l i ” 硬炜 。 图2 - 2 标准化盯0 s 体系结构 9 电子科技大学硕士论文 2 2 3 任务管理功能和调度规则 2 2 3 1 任务状态 任务状态分成5 类。阻塞状态可以进一步分解成三个字状态,运行态和就绪 态都当着可运行状态。 ( 1 ) 运行( r u n n i n g ) 态: 表明任务正在执行。在某一特定的时刻,系统只有一个运行态的任务 ( 2 ) 就绪( r e a d y ) 态: 任务就绪,但是由于有更高优先级( 或相同优先级) 的任务占用c p u ,所以没 有被执行。一旦处理器空闲,任务就投入运行,当多个任务同时处于就绪队列, 是按照它们之间的优先级别进入运行态。 ( 3 ) 等待( w a i t ) 态: 处于等待状态的任务由于环境条件得不到满足而没有被执行,任务在等待条 件满足。等待状态可以分成如下几类:等待唤醒,等待时间,等待时间标识,等 待互斥允许,等待从邮箱接受信息,等待发送或接收数据队列等。 ( 4 ) 挂起( s u s p e n d ) 态: 挂起状态表示任务的运行被另一个任务的系统调用阻塞,但是挂起状态极少 使用。 ( 5 ) 等待一挂起( w a i t s u s p e n d ) 态: 等待一挂起状态与挂起状态只有细微的差别,这个差别就是;当任务处于等 待状态而不是就绪状态,另一个任务阻塞这个任务时,这个任务就进入等待一挂 起状态。等待一挂起状态不是让任务停止等待,一旦条件满足,任务将退出等待 而进入挂起状态。 ( 6 ) 休眠( d o r m a n t ) 态: 休眠状态表示任务被终止或者还没有启动。当一个新任务被创建时首先进入 这个状态。对于正在执行的任务,通过调用该任务或者另一个任务的系统调用可 以使这个任务进入休眠状态。 ( 7 ) 不存在( n o n e x i s t e n t ) 状态: 这是在系统中不存在地一个虚拟状态,因为它既没有没创建也没有被删除。 i t r o n 规范中任务状态及其转换图如图2 3 所示: 第二章u l t r o n 实时内核的规范研究 图2 - 3i t r o n 任务状态及其转化图 2 2 3 2 调度规则 在i t r o n 规范中,抢占式,基本优先级任务调度是依赖任务的优先级管理的。 如果一些任务具有相同的优先级,调度管理将按照“先来先服务( f c f s ) ”规则。 任务调度规则用依赖于以下描述的任务优先级来定义。 如果有多于一个可运行的任务,最高权限的任务将在可运行( r u n n i n g ) 状态, 余下的在就绪( r e a d y ) 状态。在不同的优先权的任务中,具有较高优先权的任务 具有较高的优先级。在相同优先权中,先进入可执行状态有较高的优先级。然而 相同优先权也会根据某些服务调用来改变“”。 当一个任务的优先级高于其他可执行的任务时,一个分派将会立即产生,并 且在运行态的任务就会转化到新的任务。然而在系统在状态不能发生分派时,运 行态的转化等到分派被允许的时候。 在i t r o n 规范中,只要最高级别的任务在可运行状态,低级别的任务不允许 1 1 电子科技大学硕士论文 被执行。没有其他的任务将执行只要最好级别的任务因为某种原因不能被执行时, 象处于等待状态。在这个方面i t r o n 调度规则不同于t s s ( t i m e s h a r i n gs y s t e m s ) 。 后者尽可能同时执行多个任务。但是有相同优先权的任务之间的级别也许会随着 服务调用的改变,应用程序在一个令牌环模式下执行。 图2 4 显示了相同优先权的任务之间,主要优先级的任务变成可执行状态 ( a ) 在第一状态的优先级 ( b ) 任务b 变成执行态 ( c ) 任务b 变成阻塞态 第二章u i t r o n 实时内核的规范研究 ( d ) 任务b 从等待状态释放 图2 - 4 任务之间级别 任务a ( 优先级1 ) ,任务e ( 优先级3 ) ,任务b ,c 和d ( 优先级2 ) 已经按 这个序列被激活,任务a 有最高的优先级,处于执行态。 当任务a 中止,具有次高权限的任务b 移到执行状态( 图2 4 ( b ) ) 。如果任务 a 重新被激活,任务b 将被抢占回到就绪状态。然而任务b 在任务c 和d 之前到可 执行状态“,因而在相同权限中它具有最高级别,意味着任务之间优先权将回到 2 4 ( a ) 所示。 当任务b 从可执行态到等待态时,任务组织从图2 - 4 ( b ) 到图2 - 4 ( c ) 。如果任 务b 从等待释放,任务b 的权限低于相同权限的任务,因为任务b 在任务c 和任 务d 后变成可执行态,在图2 4 ( d ) 中 总的来说,如果任务处于就绪态到执行态,然后回到就绪态,它将是在相同 的权限中具有最高级别,另一方面,当一个任务有从执行态到等待态,然后回到 就绪态,这个任务在相同的权限上处于最低级别。 2 3i t r o n 标准化a p i 函数设计 这章主要说明i t r o n 标准化a p i ,通过这样的方式可是实现应用层软件在不同 平台上的快速移植。 2 3 1 任务管理 一个任务就是一个简单的程序,该程序在运行时,c p u 完全属于该任务。实时 应用程序的设计过程,包括如何把问题分割成多个任务,每个任务都是整个应用 的某一部分,每个任务被赋予一个优先级,它自己有一套c p u 寄存器和自己的栈 空间。任务管理主要包括创建任务、删除任务、改变任务状态( 启动与重启任务、 挂起与恢复任务、改变优先级和休眠等) 查询任务状态( 有优先级、属性) 等功 能。下面来具体讨论有关任务管理的标准化设计。 ( 1 ) 建立任务 格式:e rc r e t s k ( i dt s k i d ,c o n s tt _ c t s k 术p k _ c t s k ) : c r e _ t s k 函数可以用来创建任务。其中t s k i d 是被创建任务的i d ,该函数从系 电子科技大学硕士论文 统内存中动态分配一个t c b 块,p k _ c t s k 指向一个常量型控制表结构体t _ c t s k , 它存储了任务的初始化信息,其结构如下所示: t y p e d e fs t r u c tt _ c t s k ( v p e x i n f ; a t rt s k a t r : f p t a s k ; i n t t s k s z : ) t _ c t s k ; 在tc t s k 中t s k a t r 为任务属性;e x i n f 为任务的扩充信息、t a s k 为任务开 始运行的起始地址、i t s k p r i 为任务的优先级、s t k s z 为分配给任务的堆栈大小、 s t k 为堆栈空间的基地址。执行完该函数后,任务会从不存在( n o n e x i s t e n t ) 状 态进入休眠或就绪状态“”。如果t s k a t r 的值为t a _ a c t 任务创建后进入就绪状态, 否则进入休眠状态。如果任务的i d 号要由系统自动分配的话,可以采用a c r e t s k 函数。 ( 2 ) 删除任务 。 格式:e rd e l t s k ( i dt s k i d ) 可以用d e l t s k 删除指定t s k i d 的任务,同时释放此任务所占用的堆栈空间和 内存空间。函数执行完毕后,任务从睡眠状态进入不存在( n o n e x i s t e n t ) ,如果 用户任务不在休眠状态则调用该函数返回eo b j 。该函数所删除的任务是不调用该 函数的任务。 ( 3 ) 启动任务 格式:e rs t a _ t s k ( idt s k i d ,i n ts t a c d ) s t a _ t s k 函数用来启动指定i d 的任务并传输任务启动指令( 默认为0 ) 。该函 数使目标任务从休眠进入就绪状态,如果此任务的优先级高于正在运行的任务时, 将发生任务切换,此目标任务进入运行态。如果启动的任务当前不是休眠的话, 将返回e _ n o e x s 。 ( 4 ) 终止和删除任务调用 格式1 :v o i de x t t s k ( v o i d ) 调用e x t _ t s k 函数将使调用该函数的任务本身终止,该任务有运行进入休眠状 态。 1 4 第二章u l t r o n 实时内核的规范研究 格式2 :v o i de x dt s k ( v o i d ) 调用e x d _ t s k 函数将终止和删除运行任务本身,该任务使其从运行态到 n o n e x i s t e n t 。 格式3 :e rt e r _ t s k ( i dt s k _ i d ) 调用t e r t s k 函数使指定i d 的任务结束,目标任务由就绪状态和等待状态到 休眠状态。如果该任务在等待队列重,它将从等待队列中被删除。 ( 5 ) 改变任务优先级 格式:既c h g _ p r i ( i dt s k i d ,p r it s k p r i ) 调用c h g _ p r i 改变指定i d 任务的优先级,其中t s k p r i 为任务的优先级,如 果t s k i d = t s l _ s e l p ,表示改变任务本身。如果t s k p r i = t p r i i n i ,表示恢复任务 创建时的优先级。调用g e tp r i 得到指定i d 任务的优先级,其中优先级的值通过 t s k p r i 获得。 ( 6 ) 返回指定i d 任务状态 格式:职r e f _ t s k ( t _ r t s k * p k _ r t s k , i dt s k i d ) 调用r e f _ t s k 得到指定i d 任务的当前状态,其中任务的状态通过指向p k _ r t s k 的指针获得。 ( 7 ) 改变任务状态 调用s l p _ t s k 使任务从运行状态进入休眠状态。调用w u p t s k 将唤醒处于休 眠状态的任务。当有多个任务请求唤醒某个任务是可通过调用c a nw u p 取消该任 务上的多个唤醒请求。系统调用r e l _ w a i 使处于等待状态的任务进入就绪状态; 使等待一阻塞状态任务进入阻塞状态。s u st s k 使当前在运行的任务进入阻塞状 态,或使在等待状态的任务进入等待一阻塞状态。系统调用r s m _ t s k 使处于阻塞 状态的任务开始正常运行,或使阻塞状态的任务进入就绪状态,或使等待一阻塞 状态的任务进入等待状态“”系统调用d l y t s k 是在正在运行的任务进入等待状 态。 ( 8 ) 任务异常处理 a ) 系统调用d e f _ t e x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年初级的电子电路设计模拟题集及解析
- 2025年乡镇农技站招聘农业物联网维护员考试重点与难点解析
- 抹灰安全教育培训记录课件
- 2025年低熔点金属胶合作协议书
- 2025年大坝建设项目发展计划
- 辽宁省葫芦岛市连山区2025-2026学年上学期七年级开学摸底考试数学试卷(含部分简单答案)
- 2025年微机励磁屏项目合作计划书
- 职教云诊断学题库及答案
- 考试英语搞笑题及答案
- 技能培训知识课件
- 隔爆水棚替换自动隔爆装置方案及安全技术措施
- 2025年苏教版新教材数学二年级上册教学计划(含进度表)
- UPS基础知识及竞争分析课件
- 2021《改革开放史》课件全文
- 视频拍摄入门(上)课件
- 基础培训s8课件
- 建筑工程经济与管理完整版课件全套ppt教程(最新)
- 美林时钟的自我救赎
- 锐捷兵法-售前学员版课件
- 催产素引产术的护理PPT课件
- 2022年会计师事务所预算管理制度
评论
0/150
提交评论