(计算机应用技术专业论文)面向通信行业的嵌入式软件平台的研究.pdf_第1页
(计算机应用技术专业论文)面向通信行业的嵌入式软件平台的研究.pdf_第2页
(计算机应用技术专业论文)面向通信行业的嵌入式软件平台的研究.pdf_第3页
(计算机应用技术专业论文)面向通信行业的嵌入式软件平台的研究.pdf_第4页
(计算机应用技术专业论文)面向通信行业的嵌入式软件平台的研究.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(计算机应用技术专业论文)面向通信行业的嵌入式软件平台的研究.pdf.pdf 免费下载

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

文档简介

哈尔滨工程大学硕士学位论文 摘要 由于l i n u x 在诸多方面的卓越性能,近年来,嵌入式l i n u x 成为众人瞩 目的焦点。可是l i n u x 是一种通用操作系统,不具有很好的实时性。要想把 l i n u x 应用在通信领域必须对l i n u x 进行实时改造,以满足通信领域对实时 性的要求。把嵌入式l i n u x 作为其中一种底层操作系统,开发能跨操作系统 的通用的软件平台,必能加快上层业务软件的开发、方便应用程序的移植, 更重要的是减少开发成本。 本文分析了l i n u x 作为嵌入式操作系统的优势,并对内核调度机制和影 响l i n u x 实时性能的因素进行了深入的剖析,并指出了l i n u x 内核中存在的 缺陷。在实时案例的基础上,给出了一种可行的实时化方案。该方案增加了 中断处理后对抢占计数的判断,也修改了调度算法。 在此基础之上,介绍了一种面向通信领域的嵌入式软件平台。该平台是 架构在嵌入式实时操作系统之上,屏蔽各种操作系统之间的差异,为上层提 供统一的接口。同时针对通信行业的特点,实现了通信业务的并发管理、通 信任务之间的消息通信、以及定时器处理等一系列通信系统的支撑功能软件 模块。 虽后,对其中的核心模块进行了详细的分析,提出了改进和实现方案, 并对该平台的应用前景作了简单介绍。 关键词:嵌入式;实时;操作系统;通信;平台 哈尔滨工程大学硕士学位论文 a b s t r a c t b e c a u s et h el i n u xi so u t s t a n d i n gi nm a n yw a y s ,i nr e c e n ty e a r s ,t h ea m b e d d e dl i n u xh a sb e c o m et h ep u b l i cf o c u s b u tt h el i n u xi sak i n do fg e n e r a lu s i n go p e r a t i n gs y s t e m d o e sn o th a v et h ea b i l i t yo fr e a l t i m e i no r d e r t og e tt h el i n u xr e a lt i m ea p p l i c a t i o ni nt h ef i e l do fc o m m u n i c a t i o n ,w en l u s tc h a n g et h el i n u xf r o mg e n e r a lo p e r a t i n gs y s t e mt oar e a l t i m eo n e ,m e e r i n gt h ed e m a n do fc o m m u n i c a t i o na p p l i c a t i o n d e v e l o p i n gak i n do fg e n e r a l p l a t f o r mb a s e do nt h ee m b e d d e dl i n u xa n d o t h e r sm u s ta c c e l e r a t et h ed e v e l o po ft h eu p p e rl e v e lb u s i n e s ss o f t w a r e ,c o n v e n i e n tt h et r a n s p l a n t a t i o n o fa p p l i c a t i o n s ,m o s ti m p o r t a n to fa l lr e d u c et h ec o s t s t h i sd i s s e r t a t i o na n a l y z e st h ea d v a n t a g e so ft h ee m b e d d e dl i n u xt ob e t h ee m b e d d e do p e r a t i n gs y s t e m ,a n dc a r r i e so nt h et h o r o u g ha n a l y s i so ft h e f a c t o r st h a ta f f e c tt h er e a l t i m ea b i l i t yo fl i n u xa n dt h ek e r n e ls c h e d u l i n g m e c h a n i s m ,t h e np o i n t so u tb u g so ft h ek e m e l ,g i v e sak i n do ff e a s i b l et e a m i m ep r o j e c tb a s e do nc a s e s t h i sp r o j e c ta d d st h ej u d g eo fp r e e m p t _ c o u n t a f t e ri n t e r r u p t ,a n dm o d i f i e st h es c h e d u l i n ga r i t h m a t i c 、s u b s e q u e n t l y ,w ep u tf o r w a r dt h et o t a lf r a m ea n db l u ep r i n t o ft e l e c o m m u n i c a t i o n - o r i e n t e de m b e d d e ds o f t w a r ep l a t f o r m ,w h i c hc a nc r o s so v e rd i f f e r e n to p e r a t i n gs y s t e m sa n dp r o v i d eu n i f o r mi n t e r f a c ea p p l i e di nc o m m u n i c a t i o nf i e l d t h ep l a t f o r ma l s op r o v i d e ss o m es u p p o r t i n gs o f t w a r em o d u l es p e c i a l l yd e s i g n e df o rt e l e c o m m u n i c a t i o na p p l i c a t i o n s u c h a sc o n c u r r e n tm a n a g e m e n to ft a s k ,m e s s a g ec o m m u n i c a t i o nb e t w e e nt a s k s ,a n dt i m e rs e r v i c e t h e n ,w ea n a l y s et h em a i nm o d u l e sa n di m p r o v et h em e t h o d f i n a l l y ,w eg i v eab r i e fp r o s p e c to ft h i sp l a t f o r m k e y w o r d s :e m b e d d e d ,r e a l t i m e ,o p e r a t i n gs y s t e m ,c o m m u n i c a t i o n ,p l a t f o r m 哈尔滨工程大学 学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导师的指导 下,由作者本人独立完成的。有关观点、方法、数据和文 献的引用已在文中指出,并与参考文献相对应。除文中已 注明引用的内容外,本论文不包含任何其他个人或集体已 经公开发表的作品成果。对本文的研究做出重要贡献的个 人和集体,均已在文中以明确方式标明。本人完全意识到 本声明的法律结果由本人承担。 作者( 签字) :塾尘兰! 日期:厶o y 年月fh 哈尔滨工程大学硕士学位论文 1 ,1 引言 第1 章绪论 计算机应用的普及、互联网技术的实用以及纳米微电子技术的突破,j f 有力推动着2 】世纪工业生产、商业活动、科学实验和家庭生活等领域自动化 和信息化进程。以信息家电为代表的互联网时代嵌入式产品,不仅为嵌入式 市场展现了美好前景,注入了新的生命;同时也对嵌入式系统技术,特别是 软件技术提出新的挑战。这主要包括:支持日趋增长的功能密度、灵活的网 络联接、轻便的移动应用和多媒体的信息处理,此外,当然还需对付更加激 烈的市场竞争。 嵌入式系统是指嵌入式计算机( e m b e d d e dc o m p u t e r ) 及其应用系统,是指 嵌入于各种设备及应用产品内部的计算机系统,它主要完成信号控制的功能, 体积小,结构紧凑,可作为一个部件埋藏于所控制的装置中。它提供用户接 口、管理有关信息的输入输出、监控设备工作,使设备及应用系统有较高智 能和性价比。嵌入式系统由嵌入式硬件与嵌入式软件组成,硬件以芯片、模 板、组件、控制器形式埋藏于设备内部;软件包括实时多任务操作系统和各 种专用软件,一般固化在r o m 或闪存中。软硬件可剪裁,适用于对功能、体 积、成本、可靠性、功耗有严格要求的计算机系统中 q 2 1 。 嵌入式计算机系统,最早出现在6 0 年代武器控制中,后来用于军事指挥 控制和通信系统,现在广泛用于民用机电一体化产品中。嵌入式技术的发展 经历了如下几个阶段。 第一阶段是以单芯片为核心的可编程控制器形式的系统,这种系统大部 分应用于一些专业性极强的工业控制系统中,一般没有操作系统的支持,通 过汇编语言编程对系统进行直接控制,运行结束后清除内存。这一阶段系统 的主要特点是:系统结构和功能都相对单一,处理效率较低,存储容量较小, 几乎没有用户接口。由于这种嵌入式系统使用简便、价格很低,以前在国内 哈尔滨工程大学硕士学位论文 工业领域应用较为普遍,但是已经远远不能适应高效的、需要大容量存储介 质的现代化工业控制和新兴的信息家电等领域的需求。 第二阶段是以嵌入式c p u 为基础、以简单操作系统为核心的嵌入式系统。 这一阶段系统的主要特点是:c p u 种类繁多,通用性比较弱;系统开销小, 效率高;操作系统具有一定的兼容性和扩展性:应用软件较专业,用户界面 不够友好;系统主要用来控制系统负载以及监控应用程序运行。 第三阶段是以嵌入式操作系统为标志的嵌入式系统。这阶段系统的主 要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好: 操作系统内核精小、效率高,并且具有高度的模块化和扩展性;具备文件和 目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能: 操作系统提供大量的应用程序接口,开发应用程序简单。 第四阶段是因特网技术的成熟、带宽的提高,在网上出现的信息内容r 趋丰富、应用项目多种多样,这是一个正在迅速发展的阶段。目前大多数嵌 入式系统还孤立于i n t e r n e t 之外,但随着i n t e r n e t 的发展以及i n t e r n e t 技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与通信时代的 结合将代表着嵌入式技术的真正未来。 随着第四阶段的到来,嵌入系统越来越多的应用到更多的领域。面向信 息时代的嵌入式软件开发随着日趋复杂的应用正变得日益的复杂,同时对嵌 入式软件提出了更高的要求。实时性正在成为越来越重要的原则。面向通信 行业的嵌入式软件开发需要强大的开发工具和实时操作系统的支持。 用于嵌入式场合的实时操作系统就是嵌入式实时操作系统。在一个较为 完善的嵌入式系统环境中,需要一个支持实时多任务的操作系统( r t o s ) 内核, 因为广泛应用于现实世界的嵌入式设备必须具有与外部环境实时交互的能 力。r t o s 是和嵌入式应用复杂化直接相关的,在应用需求的复杂度不断增加 的今天,如果实时应用软件开发还是没有基于一个完善的r t o s ,那么无法将 系统软件和应用软件分离,开发周期过长、成本过高。因此,r t o s 是实时应 用软件丌发的必然要求,而嵌入式实时l i n u x 正是在这样的环境下,悄悄的登 上了r t o s 应用的历史舞台,并伴随着嵌入式系统的广泛应用,越来越成为人 们瞩目的焦点。 把嵌入式l i n u x 应用在通信领域成为未来嵌入式软件的趋势,把嵌入式 哈尔滨工程大学硕士学位论文 l i n u x 作为底层实时操作系统,开发通用的软件平台,为上层业务提供通用 统一的接口来简化并加快嵌入式通信软件的开发成为开发通信领域的嵌入式 实时软件的里程碑,这也是本课题所要研究的内容之一。 1 2 课题来源、背景及意义 本课题来自于由中兴通讯承担的国家8 6 3 课题“面向通信行业的嵌入式 软件平台”。目前我国嵌入式操作系统领域几乎被国外厂商所垄断,一方面 对我国的信息安全很不利,另一方面也加重了国内通信企业的版费负担。随 着数据通信业务的飞速增长,通信行业的嵌入式软件开发也变得越来越复杂, 引起了人们的广泛关注。由于没有自主知识产权的操作系统,开发人员只能 被动地选择国外的操作系统。由于不同厂商提供的操作系统之间的差异,极 大的影响了程序开发的效率,也给程序的维护、扩展和移植带来了困难。 在本课题中,将开放源码的操作系统l i n u x 应用于嵌入式系统和通讯终 端是急待解决的问题。通过对标准l i n u x 内核的实时化和小型化改造,提高 了l i n u x 的实时性能,使之能够满足嵌入式系统的性能要求,为l i n u x 在大 型通信设备上的应用奠定了基础,也使国内通信企业摆脱国外厂商的控制, 对实现自主知识产权的操作系统有重大意义。在此基础上实现“面向通信行 业的嵌入式软件平台”,为通信行业的嵌入式软件开发提出了统一的接口和规 范。由于该平台支持包括实时l i n u x 、v x w o r k s 等主流操作系统和芯片,原本 复杂而繁琐的嵌入式通信软件开发变得简单,开发人员可以更加集中在上层 业务软件的开发,而无需更多关注底层的细节,极大地提高了软件的开发效 率和软件的可移植性。 1 3 课题研究工作简介 将嵌入式l i n u x 用在大型通信设备中,开发能跨操作系统平台的通用软 件平台,为通信行业的嵌入式应用软件提供通用统一的服务和支撑动能,这 是本课题研究的基础和起点。 课题首先对嵌入式软件开发一般技术进行了总结和分析,接着对l i n u x 哈尔滨工程大学硕士学位论文 内核机制进行了深入研究,给出了影响l i n u x 实时性能的因素,并结合一种 实时l i n u x 探讨了l i n u x 实时化方案。接着以“面向通信行业的嵌入式软件 平台”为研究对象,深入分析了该平台的主要功能和实现方法,包括内存管 理、调度管理、定时器管理等主要模块的思想。在此基础上提出了改进,并 实现了零拷贝消息通信,使该平台趋于完善,也增强了其实时性和应用价值。 1 4 论文组织结构 本论文分为四章,按如下方式组织: 第1 章是本论文的引言部分,介绍了嵌入式系统的研究现状和发展阶段 以及本课题的背景、目的和意义,提出了论文的主要工作内容及组织结构。 第2 章介绍了嵌入式系统的概念、特点,嵌入式软件开发的一般方法和 流程,随后讲述了嵌入式操作系统的概念、特征、功能以及其在嵌入式开发 中的必要性。 第3 章首先介绍了l i l 3 u x 性能和特点,随后对l i n u x 的内核机制进行了 深入剖析,指出了作为实时操作系统所存在的缺陷。接着结合一种实时l i n u x 分析了实时化的一般方法,最后给出了一种简单可行的实时化方案。 第4 章深入研究了面向通信行业的嵌入式软件平台的总体框架和各个模 块的实现方法,对其中存在的问题进行分析,并提出了增强方案,提出了一 种基于零拷贝消息队列的消息通信方法。最后对该平台的应用前景作了展望。 哈尔滨工程大学硕士学位论文 第2 章嵌入式系统研究 2 1 嵌入式系统定义 嵌入式系统一般是指非p c 系统,嵌入式系统包括嵌入式硬件、嵌入式操 作系统( 如果需要的话) 、嵌入式软件平台和嵌入式应用系统。其中硬件包括 处理器微处理器、存储器及外设器件和i o 端口,图形控制器等;软件部分 包括实时多任务操作系统和上层应用程序】。有时设计人员把这两组软件组 合在一起,应用程序控制着系统的运行和行为;而操作系统控制着应用程序 和硬件的交互作用m ,。 嵌入式系统( e m b e d d e ds y s t e m ) 被定义为:以应用为中心,以计算机技术 为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功 耗严格要求的专用计算机系统【2 】。嵌入式意味着计算机内置在系统内部,普 通用户看不到有一台计算机在系统里工作,它已成为一种部件和应用环境融 为一体。例如洗衣机,微波炉,移动电话等。很少有人意识到其中有台计算 机。 嵌入式系统通常是一个大系统或大的电子设备中的一部分,工作在一个 与外界发生交互并受到时间约束的环境中,在没有人工干预的情况下进行控 制某个部件的运行。其中,软件用以实现有关功能并使其系统具有适应性和 灵活性;硬件( 处理器、a s i c 、存储器等) 是软件的基础,且用以满足性能甚 至安全方面的需要h 】【“。 2 2 嵌入式系统的特征 嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般具备4 个特 点m :( 1 ) 对实时和多任务有很强的支持能力,能完成多任务并且有较短的中 断响应时间;( 2 ) 具有功能很强的存储区保护功能,这是由于嵌入式系统的软 哈尔滨工程人学硕士学位论文 件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设 计强大的存储区保护功能,同时也有利于软件诊断;( 3 ) 可扩展的处理器结构, 以能迅速地扩展出满足应用的高性能的嵌入式微处理器;( 4 ) 嵌入式微处理器 的功耗必须很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电 池供电的嵌入式系统更是如此。 和通用计算机不同,嵌入式系统的硬件和软件都必须高效率地设计,量 体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在 具体应用对处理器的选择面前更具有竞争力。嵌入式处理器要针对用户的具 体需求,对芯片配置进行裁剪和添加才能达到理想的性能;但同时还受用户 订货量的制约。因此不同的处理器面向的用户是不一样的,可能是一般用户, 行业用户或单一用户。 嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产 品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。嵌 入式系统中的软件,一般都固化在只读存储器中,而不是以磁盘为载体,可 以随意更换,所以嵌入式系统的应用软件生命周期也和嵌入式产品一样长。 另外,各个行业的应用系统和产品,和通用计算机软件不同,很少发生突然 性的跳跃,嵌入式系统中的软件也因此更强调可继承性和技术衔接性,发展 比较稳定。其特点可以概括如下: ( 1 ) 完成单一或一组紧密相关的特定功能 嵌入式系统产生某种动作,以响应外部事件的要求。为了完成这个功能, 嵌入式系统在软件的控制下通过硬件来高速地获取数据,并进行处理,而后 产生响应动作。整个过程是在严格的时间和可靠性的约束下进行的。由于这 些约束相当苛刻,嵌入式系统通常只用于满足单方面的应用。 ( 2 ) 具有高性能和实时的要求,甚至这些需求要放到第一位 实时特征是嵌入式系统的主要特征。与实时系统一样,可以根据对响应 时间要求的不同分为硬实时和软实时。硬实时要求响应时间范围很严格,而 软实时的时间限制稍宽。 ( 3 ) 系统的可靠性和安全性 尽管所有的系统都要求可靠,但嵌入式系统在可靠性、重肩动和故障恢 哈尔滨工程大学硕士学位论文 复方面有更特殊的要求。对于可靠性要求特别高的场合,往往采用冗余备份 方式。 2 3 嵌入式系统开发流程 嵌入式系统的特点决定了嵌入式应用开发方式不同于传统的开发方法。 嵌入式系统的软硬件不是孤立单独或者串行设计,而是采取一种称为“软硬 件协同设计”的方法“- 。其中主要的两个概念是“并发”和“交互”。前 者是指软件和硬件同时并行开发,后者是指软件和硬件相互协调以满足系统 设计的功能和性能的各项指标。传统的嵌入式系统设计过程是在一开始就将 系统划分为软件和硬件两大部分,软件和硬件进行独立的开发,通常是硬件 先进行开发。传统的开发方法无疑是存在很大的问题,首先软硬件之间的交 互受到很大的影响,其次软硬件之间的相互性能影响很难评估,再次系统集 成相对滞后,延误了开发期限。并且,设计质量差,设计修改难,随着设计 复杂程度的提高,软硬件设计中的一些错误将使开发过程付出昂贵的代价。 软硬件协同设计的基本要求如下: ( 1 ) 统一的软件和硬件描述方式 软硬件支持统一的设计和分析工具,允许在一个集成环境中仿真,系统 软硬件设计支持系统任务在软件和硬件设计之间的相互移植。 ( 2 ) 交互式软硬件划分技术 硬件和软件划分可以选择多种方案,直到满足要求。 2 3 1 嵌入式系统硬件设计 嵌入式硬件开发的目的是为嵌入式软件提供一个运行的硬件载体,很自 然,可采用电子产品设计方法来开发。与传统的电子产品设计比较,嵌入式系 统的硬件开发,一方面大量使用可编程逻辑器件( p l d ) 来提高产品性能、减低 消耗:另一方面不断提高自动化设计水平,缩短开发周期,从而导致电子设计 自动化( e b a ) 技术的不断发展。e d a 以大规模可编程逻辑器件为设计载体, 以硬件描述语言( h d l ) 为主要表达方式 式自动地完成逻辑编译、化简、分割、 以相应的开发软件为工具,用软件方 综合及优化、布局布线、仿真以及对 哈尔滨工程大学硕士学位论文 于特定目标芯片的适配编译和编程下载工作,最终形成专用的集成芯片。此外 在嵌入式产品设计过程中要遵守软硬件协同设计的原则。跟单片机系统相比 较,嵌入式系统具有使用简单,开发周期短,易于生产和维护,系统功能强大、 有很好的可扩充性和灵活性等优点”3 “1 。 2 3 2 嵌入式系统软件设计及特点 与一般的计算机应用相比,嵌入式实时应用系统是具有高速处理、配置 专一、结构紧凑和坚固可靠等特点的实时系统,相应的软件系统应是一种别 有特色、要求更高的实时软件。对这种实时软件的主要要求是“ ( 1 ) 实时性 对外部事件做出快速反应的能力,这种反应还需要是确定的、可重复实 现的和可预测的。 ( 2 ) 有处理异步并发事件的能力 实际环境中,嵌入式实时系统处理的外部事件往往不是单一的,这些事 件往往同时出现,而且发生的时刻也是随机的、异步的。实时软件应有能力 对这类外部事件进行有效的处理。 ( 3 ) 快速启动、并有出错处理和自动复位功能 嵌入式实时软件需事先固化到只读存贮器,开机自行启动,并在运行出 错死机时能自动恢复先前的运行状态。因此嵌入式实时软件应采用特殊的容 错;出错处理措施。 ( 4 ) 嵌入式实时软件是应用程序和操作系统两种软件有机结合 对于通用计算机系统,操作系统等系统软件和应用软件之间界限分明。 但是,在嵌入式实时系统中,这一界限并不明显。这是因为应用系统配置差 别较大,所需操作系统相差悬殊,i 0 操作也不尽相同。嵌入式软件是针对相 应的嵌入式硬件开发的,是专用的。 ( 5 ) 嵌入式实时软件的开发需要独立的开发平台 由于嵌入式实时应用系统的软件开发受到时间、空间开销的限制,常常 需要在专门的开发平台上进行软件的交叉开发,其交叉开发环境如图2 i 所 不。 哈尔滨工程大学硕士学位论文 图2 1 交叉开发环境 这种开发方式就是通常所说的“宿主机目标机”方式,其中开发平台称 为宿主机( h o s t ) ,应用系统称作目标机( t a r g e t ) 。宿主机可以是与目标机 相同或不相同的机型。这种不同机型的开发平台又称作交叉式开发系统。显 然,在这种独立的实时软件开发系统上,应配备完整的实时软件开发的工具, 如高级语言、在线调试器和在线仿真器等“。 一个完备的交叉开发系统通常有3 个部分组成:作为开发平台的主机( h o s t ) 、面向嵌入式c p u 的目标机和通信系统。开发主机可以是工作站、p c 机 等,运行的操作系统多为u n i x ,m i c r o s o f tw i n d o w s 等工具丰富、界面友好的 系统平台。目标机是要开发的硬件平台。主机和目标机通过串行口、以太网、 仿真器或其他通信手段相联系。用户所有的开发工作在主机开发环境下完成, 包括编码、编译、连接、下载和调试等工作。生成目标代码由串行口或以太 网或其他通信途径下载到目标机,应用程序在目标机上执行,用户可以使用寄 于主机的开发环境提供的调试工具调试运行在目标机上的应用程序“。 ( 6 ) 在嵌入式系统的软件开发过程中,采用c 语言将是最佳的选择”1 ,由 于汇编语言是一种非结构化的语言,对于大型的结构化程序设计已经不能完 全胜任了。这就要求我们采用更高级的c 语言去完成这一工作。 2 4 嵌入式操作系统 嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入 式系统极为重要的组成部分,通常包含与硬件相关的底层驱动程序、系统内 核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系 哈尔滨工程大学硕士学位论文 统具有通用操作系统的基本特点,能够有效管理越来越复杂的系统软硬件资 源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱 出来;能够提供库函数、驱动程序、工具集以及应用程序等。与通用操作系 统相比较,嵌入式操作系统在实时高效性、硬件的相关依赖性、软件固态化 以及应用的专用性等方面具有较为突出的特点”“”。 2 4 1 嵌入式操作系统分类及特点 嵌入式操作系统可以分为两类,一类是面向控制、通信等领域的实时操 作系统,如w i n d r i v e r 公司的v x w o r k s 、p s o s 等;另一类是面向消费电子产 品的非实时操作系统,这类产品包括个人数字助理( p d a ) 、移动电话、机顶盒 等m ,。 与通用操作系统相比,嵌入式操作系统有许多特点,如可靠性、可裁剪 性、实时性等。前两者是嵌入式应用环境所要求的,而实时性则是为了满足 系统实时性要求的内容。在一些文章中提到某些嵌入式操作系统时,常常冠 以“实时操作系统”,但它只是表现为该操作系统具有较好的实时能力。在没 有置身在一个具体嵌入式应用系统中时,不存在实时性结论。不同的嵌入式 操作系统比较时,可以有实时能力上的不同。任何一个嵌入式操作系统都应 有满足系统实时性设计的内容( 表现为任务的快速调度、快速运行等) ,实时 能力强的嵌入式操作系统能更容易地实现应用系统的实时性。 因此,给实时操作系统下个定义,实时操作系统是指具有实时性、能支 持实时控制系统工作的操作系统。其首要任务是调度一切可利用的资源完成 实时控制任务,其次才着眼于提高计算机系统的使用效率w 。 2 4 2 实时操作系统的特征 r t o s 是操作系统研究的一个重要分支,它与一般商用多任务操作系统如 u n i x 、w i n d o w s 等有共同的一面,也有不同的一面。对于商用多任务操作系 统,其目的是方便用户管理计算机资源,追求系统资源最大利用率;而r t o s 追求的是实时性、可确定性、可靠性。与桌面环境相比,嵌入式环境对于操 作系统系统要求不仅仅是“小”,二者在设计要求上有着本质的不同,如中断 被屏蔽的时间很短,中断处理时间短,任务切换很快等。因此,实时操作系 哈尔滨工程大学硕士学位论文 统一般具有如下特征i ,:) us l q 。 ( 1 ) 可裁剪性 所谓可裁剪性是在软件开发阶段利用软件配置方法实现软件构件的“即 插即用”。从应用环境来看,桌面操作系统面向复杂多变的应用,而r t o s 面 向单一设备的单一应用。从开发角度来看,桌面操作系统试图给开发人员提 供一个“黑箱”,让开发人员通过一系列标准的系统调用来使用操作系统中的 功能,而嵌入式操作系统试图为开发人员提供一个“白箱”,让开发人员可以 自主控制系统的所有资源。因此,应用于嵌入式环境的r t o s ,在研发的时候 就必须立足于改变自身、开放自身,让开发人员可以根据硬件环境和应用环 境的不同而对操作系统进行灵活的裁剪和配置。因为对于任何一个具体的嵌 入式设备,它的功能是确定的,因此只要从原有操作统中把这个特定应用所 需的功能拿进来即可。 可裁剪性带给用户的个最直接的好处是硬件成本降低,这对于成本敏 感的应用( 如消费电子类设备) ,具有重要的现实意义。由于设备中只包含应 用程序用到的那部分操作系统功能,这就使得系统变得简单、易把握,从而 提高系统的可靠性。 ( 2 ) 实时性 实时的含义是在规定的时间传递正确的结果,迟到的结果就是错误n ,。 也就是说,r t o s 所要求的是在规定的时间内做完应该做的事情,并且操作系 统的行为( 执行线索) 是确定的,这是写出高可靠性程序的基础。如果完成 同样的动作,有时快,有时慢,且执行线索千差万别,程序员无法把握,实 时性就无从保证。 ( 3 ) 可靠性 可靠性在实时系统中比非实时系统中更重要。在非实时系统中,暂时性 故障可以通过重新启动系统来解决,多处理器非实时系统中的处理器失败可 能导致服务级别降低,直到发生故障的处理器被修复或替换。但是实时系统 是实时地响应和控制事件,性能的损失或降低可能产生灾难性的后果,从资 金损失到损坏主要设备甚至危及生命。大多数桌面系统都是上千万行代码的 庞大而复杂的系统。而且对开发人员来说,桌面系统的细节隐藏在系统调用 哈尔滨工程大学硕士学位论文 接口中,很难把握具体执行的线索。相反,r t o s 对软件开发人员来说是完全 开放的,允许开发人员非常清楚地了解和掌握操作系统内部情况,从而可以 设计出高效稳定的应用软件。 2 4 3 实时操作系统功能 实时操作系统应该至少具有如下功能才能满足现实情况中复杂的应用, 也是本论文中的平台必须实现的功能”1 。 实时操作系统中任务的概念与通常所说的计算机操作系统中任务的概念 不同,通常所说的任务是指提交给计算机的一项工作,可能包括一个或多个 进程,而一个进程又可以包括多个线程。r t o s 的任务是由计算机所执行的一 段程序,该程序可以认为c p u 完全只属于该程序自己,它大致等同于分时操作 系统中的进程( p r o c e s s ) 的概念“1 。分时操作系统中调度的基本单位是进程 ( 或者线程) ,而对实时操作系统,操作系统内核调度的基本单位就是任务。 i 任务调度管理功能 任务调度就是从就绪状态的任务中,挑选一个任务到处理器上运行。负 责任务调度功能的内核程序称为任务调度程序或任务调度器。任何操作系统 的核心和灵魂都是它的调度程序( s c h e d u l e r 或d i s p a t c h e r ) 。 任务的驱动一般是基于消息或者事件的,任务被设计成依次处理收到的 消息或者事件,周而复始的循环直到死亡。实时操作系统中的一个任务可以 处于各种状态,最基本的状态有四种:运行( e x e c u t i n g ) ,就绪( r e a d y ) ,等 待( w a i t i n g ,通常又称为挂起,s u s p e n d ) ,休眠。图2 2 显示了在一个任务 中这几种状态之间的关系。 图2 2 一个任务可能的状态迁移图” 一、 中断 、。:一 哈尔滨工程大学硕士学位论文 ( 1 ) 休眠 一个休眠的任务是指没有被初始化的未被创建的任务,或任务的执行被 终止的任务( 任务删除) ,也可以认为是退出系统的任务。操作系统一般不为 处于休眠状态的任务分配t c b 。任务在被创建之前处于休眠状态。当它们被 删除后,又重新回到休眠状态。可以说休眠状态是一个任务的起点和终点。 ( 2 ) 运行 处于运行态的任务拥有c p u 控制权并正在执行。任何时刻都只有一个任务 处于运行态。处于运行态的任务可以被中断打断,当中断发生时,转向中断 处理程序( i s r ) ,原来正在运行的任务暂时不能运行,就进入了中断状态。 ( 3 ) 就绪 就绪的任务是指如果获得c p u 马上就可以运行的任务,就绪的多个任务一 般在等待队列中排队。例如,刚被创建的任务就处于就绪状态。但就绪态的 任务要成为运行态,就必须比所有其他处于就绪态的任务的优先级高,并通 过调度转为运行状态。 ( 4 ) 等待 任务发生阻塞,被移到任务等待队列,等待系统实时事件的发生而唤醒。 从而转为就绪或运行。 此外,任务可创建其它的任务,也可以删除、挂起、唤醒任务,查询任 务的状态,改变自身或其它任务的优先级。任务还可锁住调度使其他任务不 能抢占它,以运行其关键的临界代码区。 2 任务问同步和通信功能 实时操作系统中任务通信的机制2 般有消息、事件、信号量等。此外还 有邮箱机制和任务间共享内存机制。 实时操作系统也提供了信号量机制,目的是为了对临界资源的互斥访问。 一般有信号量的创建、删除、获取、释放等。和分时系统显著不同的是,较 优秀的实时操作系统还提供了信号量的优先级反转问题的解决方案。 3 内存管理功能 同分时操作系统类似,实时操作系统利用硬件的m m u 来完成内存的管理。 目前大多数的实时操作系统都提供了两种模式,即实模式和保护模式,此外 还提供了内存的优化分配方案,尽量减少系统对内存的要求。 哈尔滨t 程大学硕士学位论文 4 定时服务功能 目前商用实时操作系统都提供了基于硬件实现的定时服务功能。时钟是 系统调度的基础,也是整个系统的心脏跳动所在。时钟服务一般包括定时唤 醒,定时机制等。优秀的实时操作系统还提供了定时消息功能。 5 中断服务功能 针对实时操作系统的应用环境,实时操作系统的中断比分时操作系统的 中断服务更加短小、精悍,以减少中断延迟和关中断时间。 2 4 4 实时操作系统的必要性 首先,嵌入式实时操作系统提高了系统的稳定性。在某些应用领域中, 出于安全方面的考虑,不仅要求在硬件设计方面提高系统的可靠性和抗干扰 性,而且也应在软件设计方面提高系统的抗干扰性,尽可能地减少安全漏洞 和不可靠的隐患。3 2 位c p u 专为运行多用户、多任务操作系统而设计的,特 别适于运行多任务实时系统,来提高系统可靠性和稳定性,使其更容易做到 不崩溃。 其次,应用实时操作系统开发应用程序,提高了开发效率,缩短了开发 周期。在嵌入式实时操作系统环境下,开发一个复杂的应用程序,通常可以 按照软件工程的方法将整个程序分解为多个任务模块。每个任务模块的调试、 修改几乎不影响其他模块。在嵌入式实时操作系统环境下开发实时应用程序 使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能,而且 对实时性要求苛刻的事件都得到了快速、可靠的处理。 再次,实时多任务操作系统是嵌入式软件的基础和开发平台,目前大多 数嵌入式丌发还是在单片机上直接进行,没有r t o s ,但是仍需要控制各个任 务的调度运行。系统复位后首先执行r t o s ,其他的应用程序都建立在其上。 不仅如此,r t o s 还是一个标准的内核,将c p u 时间、中断、i o 、定时器、 内存、任务操作等资源都封装起来,提供给用户一个统一的接口,给任务分 配不同的优先级,根据不同的优先级给任务分配不同的c p u 时f a 】。 r t o s 是根据不同处理器特征优化设计的高效实时多任务内核,提供功能 类似的接口,也是开发设备独立的应用程序的基础。因此基于r t o s 上的c 语言程序具有很好的可移植性。在r t o s 之上可以开发各种硬件驱动程序、专 哈尔滨下程大学硕士学位论文 家库函数、行业库函数、产品库函数等,因此,r t o s 又是一个软件开发平台。 2 5 本章小结 本章首先对嵌入式系统的概况做了描述,包括嵌入式系统的定义、分类 和应用范围等。接着给出了嵌入式实时操作系统的特征,并对其功能和必要 性进行了详细的描述。 哈尔滨工程大学硕士学位论文 3 1l in u x 概述 第3 章l in u x 实时化研究 l i n u x 是一种在互联网时代产生的操作系统,它的产生来自于一名芬兰 学生l i n u sb t o r v a l d s 的业余爱好。随着互联网的发展,1 9 9 1 年8 月i in u sb t o r v a l d s 在i n t e r n e t 互联网上公布了第一个版本,此后世界各地的爱 好者通过互联网加入到l i n u x 的开发,后来l i n u x 成为了美国自由基金主要 的项目之一。随着l i n u x 的发展,与之相配套的软件也逐渐发展成熟。如g n u 的c 的编译器g c c ,调试器g d b ,还有各种s h e l l 和实用程序等。 l i n u x 目前已经成为一个备受关注的稳定、功能强大的多任务多用户的 操作系统,可以运行在多种硬件平台上。由于l i n u x 强大的网络功能,据专 家分析,当前l i n u x 已成为第二大通用操作系统,l i n u x 已逐渐成为软件巨 头m i c r o s o f t 的强劲的对手。 3 2 l in u x 的性能和特点 l i n u x 之所以得到如此广泛的应用和关注,主要依赖于它的优越的性能 和完善的技术。l in u x 的优越的性能归纳起来主要有如下几点“”3 。 1 与u n i x 兼容 l i n u x 在产生之初就与u n i x 有不解之缘。l i n u x 是按照p o s i x ( p o r t a b l e o p e r a t i n gs y e t e mi n t e r f a c ef o ru n i x ) 标准开发的,它与u n i x 在功能上完 全兼容。所以在u n i x 系统上运行的软件大部分不必做任何修改就可以在 l i n u x 系统上运行。 2 广泛的硬件支持 l i n u x 能够支持x 8 6 、a r m 、m i p s 、a l p h a 、p o w e r p c 等多种体系结构,目 前已经成功移植到数十种硬件平台,几乎能够运行在所有流行的c p u 上。 l i n u x 有着异常丰富的驱动程序资源,支持各种主流硬件设备和最新硬件技 哈尔滨工程大学硕士学位论文 术,甚至可以在没有存储管理单元( m m u ) 的处理器上运行,这些都进一步促 进了l i r i i x 在嵌入式系统中的应用。 3 性能完善的网络功能 l i n u x 操作系统最突出的是网络部分,基本上所有的网络协议和网络接 口都可以在l i f l u x 上找到,l i f l u x 内核比标准的u n i x 更加高效地处理网络协 议,系统的网络吞吐性能非常好。l i n u x 内核支持e t h e r n e t ,p p p ,n f s 等网 络协议,可以通过p p p 使用t c p i p 网络服务。 4 使用的廉价性 l i n u x 是免费软件,只要遵守g p l ( g n ug e n e r a lp u b l i cl i c er i s e ) 的规 定,就可以免费获得拷贝。l i n u x 有同样遵循g p l 规定的c 、c + + 、j a v a 等等 一系列的软件工具开发包,从功能角度上看并不亚于商用开发包,同时可以 极大的降低开发成本。这点优势是其他商用操作系统无法比拟的。 5 可裁减的稳定的内核 由于l i n u x 源码的公开性,人们可以根据应用的需要对内核进行裁减, 以满足现实应用中各种各样的需要。尤其是在嵌入式领域,l i r i u x 经过裁减 后可以在很小的空间内运行。此外由于l i n u x 内核的高效和稳定,内核分成 进程调度、内存管理、进程间通信、虚拟文件系统和网络接口五大部分,其 独特的模块机制可以根据用户的需要,实时地将某些模块插入到内核或从内 核中移走。这些特性使得l i n l l x 系统内核可以裁剪得非常小巧,很适合于嵌 入式系统的需要。 3 3 为什么使用lir m x 作嵌入式开发 首先,尽管l i n u x 有如此多的优点适合于嵌入式领域的应用,可是在我 国嵌入式应用领域,l i r i u x 在这方面的应用才刚刚起步。国内的嵌入式实时 操作系统市场基本上被国外的商用实时操作系统如v x w o r k s 、p s o s 、u c o s 等抢占。因此对l i n u x 进行研究,对于推动我国嵌入式操作系统的自主研发 具有重要意义。 其次,从现在对嵌入式系统开发的需求来看,开发嵌入式系统需要一个 支持实时多任务的操作系统( r t o s ) 内核来支持。因为嵌入式的应用不仅仅 哈尔滨工程大学硕士学位论文 局限于原来的只是面对系统级的需求,而是需要面对用户级的应用,满足在 各个层次上尤其是消费电子产品的需求。在这个方面,嵌入式的应用系统的 开发和定制变得越来越重要。传统的使用循环控制的嵌入式系统不能满足足 够的需求。目前在中国大多数的嵌入式软件开发还是在基于处理器直接编写, 而没有采用商品化的r t o s ,那么在开发嵌入式系统时无法将系统软件和应用 软件分开处理,每次开发的时候都要特别定制系统软件和应用软件,开发的 代价太大,成本过高。 在r t o s 里面最关键的部分是实时多任务内核,需要实现任务管理、定时 器管理、存储器管理、资源管理等等。实现出效率高,体积小,移植功能强 大、易于定制的r t o s 是开发嵌入式系统的关键问题。而l i n u x 正好在这方面 具有优势。 再次,若准备采取l i n u x 作为开发嵌入式系统,依靠l i n u x 实现的实时 系统,可以通过l i n u x 本身的不断升级,自动扩充升级。 3 4l i n u x 内核机制剖析 尽管l i n u x 有那么多的优点,可是通用的l i n u x 还不能直接用在实时领 域,必须进行实时改造后,才能满足实时应用的需求。那么通用l i n u x 的性能 到底如何? 下面将对其做个彻底的分析。 3 4 1l in u x 调度策略 在分时特征中,为了使各个进程得到比较平均的处理而采用时间片轮转 的办法。在实时特征中,对于当前运行的进程而言,当有更加紧急的进程需 要运行时,系统将把c p u 分给这个紧急的进程,而原来的进程暂停运行。l i n u x 是一个同时具有分时和

温馨提示

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

评论

0/150

提交评论