(计算机科学与技术专业论文)嵌入式linux操作系统实时性的改进研究与实现.pdf_第1页
(计算机科学与技术专业论文)嵌入式linux操作系统实时性的改进研究与实现.pdf_第2页
(计算机科学与技术专业论文)嵌入式linux操作系统实时性的改进研究与实现.pdf_第3页
(计算机科学与技术专业论文)嵌入式linux操作系统实时性的改进研究与实现.pdf_第4页
(计算机科学与技术专业论文)嵌入式linux操作系统实时性的改进研究与实现.pdf_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

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

文档简介

at h e s i si nc o m p u t e rs c i e n c ea n dt e c h n o l o g y r e s e a r c ha n di m p l e m e n t a t i o no fr e a l - t i m ep e r f o r m a n c e i m p r o v e m e n t s o fe m b e d d e dl i n u x o p e r a t i n gs y s t e m b yw a n g s h i b o s u p e r v i s o r :p r o f e s s o ry a n gg u a n g m i n g n o r t h e a s t e r nu n i v e r s i t y j u n e2 0 0 9 独创性声明 本人声明,所呈交的学位论文是在导师的指导下完成的。论文中取得 的研究成果除加以标注和致谢的地方外,不包含其他人己经发表或撰写过 的研究成果,也不包括本人为获得其他学位而使用过的材料。与我一同工 作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢 = 亡巴 思。 学位论文作者签名:互性l 丁考 日 期:沁哕,f 学位论文版权使用授权书 本学位论文作者和指导教师完全了解东北大学有关保留、使用学位论 文的规定:即学校有权保留并向国家有关部门或机构送交论文的复印件和 磁盘,允许论文被查阅和借阅。本人同意东北大学可以将学位论文的全部 或部分内容编入有关数据库进行检索、交流。 作者和导师同意网上交流的时间为作者获得学位后: 半年口一年口一年半口两年口 学位论文作者签名:孑蹦 导师签名: 签字日期: 一t s 签字日期:彻9 乡 东北大学硕士学位论文 摘要 嵌入式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 内核不可抢占性、 中断处理及时钟定时器细粒度、调度算法这三个方面进行改造。针对内核不可抢占性问 题,本文按照双内核模型的改造思想,充分利用r t a i 技术对现有的l i n u x 内核进行了 实时性改造;针对粗粒度问题,利用先进的a p i c 时钟技术从硬件的角度来实现高精度 的时钟系统;针对低效率的实时进程调度策略,通过实现新的调度系统,有效地提高任 务的实时调度性能。在论文的结尾部分,本文将标准l i n u x 系统和改造后的系统从上述 的三个方面分别进行了相应的对比测试。 实验结果表明改造后的l i n u x 系统,在实时性能方面有了很大的改进,研究成果令 人满意。新的l i n u x 系统能够满足实时性的要求,真j 下成为了一种强实时性系统。 关键词:l i n u x ;实时性;抢占内核;调度算法;时钟定时器 r e s e a r c ha n di m p l e m e n t a t i o no fr e a l t i m ep e r f o r m a n c e i m p r o v e m e n t so f e m b e d d e dl i n u xo p e r a t i n gs y s t e m a b s t r a c t w i t hm er a p i dd e v e l o p m e n to fh a r d w a r ea n ds o f t w a r et e c h n o l o g i e s ,e m b e d d e dd e v i c e s a r eu s e dw i d e l y f r o mt h es p a c es h u t t l et ot h ei n d i v i d u a lm o b i l ep h o n e s ,e v e r y w h e r eh a st h e e m b e d d e dp r o d u c t s s h a d o w i ns om a n ye m b e d d e dp r o d u c t s ,t h e i ra d v a n t a g e s a n d d i s a d v a n t a g e sc a n ,ts e p a r a t ew i t ht h e i re m b e d d e do p e r a t i n gs y s t e m sp e r f o r m a n c e t h e r e f o r e , t h ee m b e d d e do p e r a t i n gs y s t e mr e s e a r c ha n dd e v e l o p m e n th a sb e c o m eah o t a r e af o r c o m p u t e ra p p l i c a t i o n s i nt h ep r o c e s so f e m b e d d e ds y s t e m sd e v e l o p m e n t ,i ti sm o r ea n dm o r e e m p h a s i so nt h es y s t e m sf e a t u r eo fs t r o n gr e a l - t i m e s o ,h o wt om a k et h es y s t e mh a v et h e r e a l t i m ef e a t u r eb e c o m em o r ea n dm o r ei m p o r t a n t a m o n gs om a n yr e a l t i m eo p e r a t i n gs y s t e m s ,t h er e a l - t i m eo p e r a t i n gs y s t e mb a s e do n l i n u x w h i c hd u et oi t so p e ns o u r c e sa n dt h es y s t e ms t a b i l i t yh a sb e c o m em o r ea n dm o r e p o p u l a r b u t ,a st h el i n u xs y s t e mi sa u n i v e r s a lo p e r a t i n gs y s t e m ,r a t h e rt h a nat r u er e a l - t i m e o p e r a t i n gs y s t e m ,i tm u s tn e e dt ob eu p g r a d e d t h e r e f o r e ,h o wt om a k e t h eg e n e r a ll i n u xi n t o ar e a l t i m es y s t e mh a sav e r yh i 曲p r a c t i c a ls i g n i f i c a n c e t h i sa r t i c l ew i l la i mt ot h ep r o b l e m o fm eg e n e r a l p u r p o s el i n u xr e a l t i m ed e f e c ta n dm a k ef u l lu s eo fe x i s t i n gr e s e a r c hr e s u l t s o ft h er e a l t i m eo p e r a t i n gs y s t e ma n di m p l e m e n t a t i o nm e t h o d st oi m p r o v et h el i n u xs y s t e m a n a l y s i sw i l lf o c u so nt h et h r e ea s p e c t s t h e y a r e t h eu n o c c u p i e dc o r eo fl i n u x ,f i n e 。g r a i n e d c l o c kt i m e r , a sw e l la st h es c h e d u l i n ga l g o r i t h m t h e n w ew i l la n a l y s i sa n di m p r o v e m e n t t h e s et h i n g s a n du l t i m a t e l yt e s tt h ei m p r o v e dl i n u xs y s t e m t h r o u g ht h ee x p e r i m e n t a lr e s u l t s ,w ef o u n dt h a tt h ei m p r o v e dl i n u xo p e r a t i n gs y s t e m m e e t st h er e q u i r e m e n t so ft h er e a l t i m ei n d i c a t o r s a n d ,i th a db e c o m e at r u eh a r dr e a l - t i m e o p e r a t i n gs y s t e m k e y w o r d s :l i n u x ;r e a l t i m e ;p r e e m p t e dc o r e ;s c h e d u l i n ga l g o r i t h m ;c l o c kg r a n u l a r i t y - - i i i - 东北大学硕士学位论文 目录 目录 独创性声明。i 摘要i i a b s t r a c t i i i 第1 章绪论1 1 1 选题背景l 1 2 国内外研究现状2 1 3 课题意义与研究内容3 1 4 论文结构4 第2 章嵌入式操作系统实时性研究5 2 1 实时操作系统介绍5 2 1 1 实时与实时系统5 2 1 2 实时操作系统5 2 1 3 实时操作系统的主要性能指标7 2 1 4 实时系统与分时系统的差异与改进8 2 2l i n u x 对实时性的支持l o 2 2 1 普通l i n u x 本身支持实时性的分析1 0 2 2 2l i n u x 支持硬实时性的技术障碍1 1 2 3 本章小结一l2 第3 章l i n u x 实时性改进方法研究1 3 3 1l i n u x 支持实时性的常用基本策略1 3 3 1 1 兼容内核方法1 3 3 1 2 双内核方法1 3 3 1 3 资源内核方法1 4 3 1 4 核心内核方法16 3 2 典型的l i n u x 实时化方案分析17 3 2 1r e d l i n u x 1 7 3 2 2r t - l i n u x 和r t a i 17 3 2 3h a r d h a tl i n u x 18 3 3l i n u x 实时性能改进方案1 9 3 4 本章小结2 0 第4 章进程调度机制分析与改进2 1 4 1 实时调度策略分析2 1 4 1 1l i n u x 进程调度2 1 4 1 2l i n u x 进程优先级2 3 4 1 3l i n u x2 6 调度时机2 3 4 1 4 调度的策略及依据2 4 - 一 东北大学硕士学位论文 目录 4 2l i n u x 内核o ( 1 ) 调度算法2 5 4 2 1 实现o ( 1 ) 算法的关键点2 5 4 2 2o ( 1 ) 调度算法的不足。2 6 4 3l i n u x 实时调度算法改进2 6 4 3 1l s f 调度算法分析。2 7 4 3 2l s f 算法的改进2 8 4 3 3 抢占阈值的设定2 9 4 3 4 可调度性分析2 9 4 4l s f 算法在l i n u x 中的实现3 0 4 5l s f 算法改进性能分析3 3 4 5 1 保持o ( 1 ) 调度特性3 3 4 5 2 实时调度的灵活性3 3 4 5 3 新调度的代价3 4 4 6 本章小结一3 4 第5 章时钟机制分析与改进3 5 5 1l i n u x 的时钟系统3 5 5 1 1l i n u x 时钟源3 5 5 1 2l i n u x 定时器3 5 5 2 细粒度并行时钟系统的设计与实现3 7 5 2 1 实时定时器队列3 8 5 2 2a p i c 编程。3 9 5 2 3a p i c 可编程时钟中断的实现4 0 5 2 4a p i c 与8 2 5 4 共存的问题4 3 5 3 本章小结4 6 第6 章双内核实时系统的分析与实现4 7 6 1 实现双内核机制技术分析4 7 6 1 1 软中断模拟( s o f t w a r ei n t e r r u p te m u l a t i o n ) 4 7 6 1 2 实时硬件抽象层5 2 6 1 3 对原l i n u x 内核的修改5 5 6 2 可抢占式实时内核的设计与实现5 6 6 2 1l i n u x 内核模块技术5 6 6 2 2 可抢占式内核体系结构的组成与实现5 7 6 3 实时l i n u x 系统的具体构建6 2 6 4 本章小结6 2 第7 章改进后l i n u x 系统实时i 陛能测试6 3 7 1 实时性系统评价指标6 3 7 2 测试工具l i n u xt r a c et o o l k i t 简介6 3 7 3 测试结果6 4 7 3 1 双内核实时性分析6 4 时性测试6 7 一v 一 东北大学硕士学位论文 目录 7 3 3 时钟系统的实时性测试6 7 第8 章结论7 l 8 1 论文工作总结7 1 8 2 论文的主要贡献与创新7 l 8 3 研究的不足与展望7 2 参考文献7 3 致谢7 5 东北大学硕士学位论文 第1 章绪论 第1 章绪论 1 1 选题背景 嵌入式系统是以应用为中心,以计算机技术为基础,其软硬件可裁剪,适用于应用 系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统【。由于嵌入式 系统具有便利、灵活、性价比高、嵌入性强、系统稳定等特点,它已在生活、娱乐、军 事、工业等各个领域中取得了广泛的应用。 在很多的应用中,嵌入式系统也必须是一个实时系统,即系统的j 下确性不仅仅依赖 于计算的逻辑结果,而且依赖于结果产生的时间。实时系统的核心是实时操作系统,其 最重要的要求就是实时操作系统必须能在一个事先定义好的时间限制内对内部或外部 的事件进行响应和处理。 在嵌入式系统发展的初期,还没有出现操作系统的概念,大部份的功能是用汇编语 言来实现的。由于这些汇编程序只能用于某一种特定的处理器,所以这种嵌入式系统的 兼容性、通用性和可扩展性都很差。c 语言的出现使得嵌入式操作系统的丌发变得简单、 便捷和可靠。因此,出现了各种各样的商用嵌入式操作系统,逐步形成了百家争鸣的局 面,较为流行的有v x w o r k s ,p s o s ,n e c u l e u s ,w i n d o w sc e 等等。它们的共同特点是 体积小、具有微内核,符合p o s i x 实时扩展标准,具有较好的开发调试环境等。但是 它们的价格往往十分昂贵,一套实时操作系统( r t o s ) - - 般需要几十万元,加上开发工具 超过上百万元;不公布源码,使得开发中对系统内核技术无法掌握,在后续开发时受到 系统的制约,无法进行灵活的升级。 在操作系统的发展史上,l i n u x 的出现是一个重要的里程碑。l i n u x 是类u n i x 操作 系统大家族中的一员,其最吸引人的优点在于它不是商业化的操作系统,而是遵循g n u 公共许可证,源代码全部开放的。从9 0 年代末开始,l i n u x 这位相对较新的成员变得非 常流行,并且跻身于那些有名的商用操作系统之列。随着l i n u x 的风行,很多大学和研 究机构丌始基于l i n u x 构建实时操作系统。这主要由于l i n u x 具有如下一些优点【2 】: 功能强大。支持多任务的进程调度;提供完全的内存保护机制和多种进程问的 通信和同步机制。例如共享内存、消息队列、管道、信号、信号量和互斥锁等;支持包 括多种网络协议的网络支持功能;支持包括网络文件系统的多种文件系统;启动和初始 化进程控制得非常好,可以很容易地定制系统启动的服务和服务启动的顺序,例如:将 - 1 东北大学硕士学位论文第1 章绪论 l i n u x 裁减为一个适合某类特定应用的嵌入式系统就是比较容易的。 l i n u x 的源代码是开放的,不存在黑箱技术。l i n u x 作为一种可裁剪的软件平台 系统,是发展未来嵌入式设备产品的绝佳资源。 支持多种硬件平台。l i n u x 已经被移植支持多种c p u 构架,驱动程序也很丰富。 运行嵌入式l i n u x 的c p u 可以是x 8 6 、a l p h a 、s p a r e 、m i p s 、p p c 等。 模块化设计。l i n u x 由一个k e m e l ( 内核) 及一些根据需要进行定制的系统模块 组成。模块化的设计方案使得它很容易被裁减成小到可以支持一些资源有限的嵌入式设 备。 函数接口符合国际和工业标准。由于其开放性以及使用了标准接口函数,许多 其他开发源码团体为l i n u x 提供了大量的开发工具和实用软件。 正是由于l i n u x 的迅速发展以及上面提到的众多优点,基于l i n u x 的嵌入式实时操 作系统的应用研究得到广泛关注。在标准l i n u x 的基础上,借鉴其思想和结构,对其进 行改造来构建嵌入式实时系统,这必将具有广阔的应用前景。 1 2 国内外研究现状 嵌入式操作系统作为嵌入式系统中的核心,是系统功能的外在体现,它控制着整个 系统的所有资源并提供开发应用程序的基础,在嵌入式软件中占据着非常重要的地位。 我国长期以来,由于受各方面条件的限制,在嵌入式操作系统的自主开发方面进展不大, l i n u x 的出现应该是我国软件业摆脱低水平的二次开发,带动民族软件产业快速、健康 发展的难得机遇。国家有关部门把发展l i n u x 定为我国软件产业发展的战略方向之一, 也给嵌入式l i n u x 的研究和应用带来良好的发展空间。相对于桌面计算机环境来说,嵌 入式系统没有像微软这样的占绝对领导地位的操作系统提供商,目前世界上存在有4 0 0 多种不同的嵌入式操作系统,并且由于嵌入式系统应用环境的多样性,决定了操作系统 的多样性和针对性。基于这样的事实,我国完全可以分析、借鉴一些成功系统的经验, 学习国际上这一领域的最新科技,开发出适合特定应用的、具有自主知识产权的操作系 统,从而推动我国的信息化建设,因此对嵌入式操作系统的研究与开发有非常重要的现 实意义。 目前,国际上对嵌入式l i n u x 的研究主要集中在以下几个方面: 源通常是有限的,因此对软件的体积有严格要求。但是l i n u x 一2 东北大学硕士学位论文第1 章绪论 使用单一模块结构,体积较大,不适合直接在嵌入式设备中应用。开发符合原l i n u x 接 口标准、体积很小的l i n u x 内核,并加强其可裁减性和可配置性,是当前嵌入式l i n u x 的研究和发展方向之一。 ( 2 ) 实时性 在数据采集、控制、音视频等设备中,对操作系统的实时性有较高的要求。l i n u x 并非实时操作系统,因而必须提高实时性,以满足这些设备的要求。不久前,全球最大 的嵌入式l i n u x 套件发行商美国m o n t a v i s t a 软件公司,成功开发出通过加入具有优先权 继承功能的互斥程序( m u t e x ) 从而提高应答性能的嵌入式l i n u x 内核。该互斥程序可以取 代之前的抢占式内核中用于保护临界区的自旋锁,缩短了最长应答时州3 1 。 ( 3 ) 可移植性和可重用性 良好的可移植性和可重用性将大大缩短软件的开发周期、降低开发成本。而国内对 l i n u x 的研究主要集中在体积、能源管理、g u i 、开发环境、中文化和驱动程序这几个 方面。 1 3 课题意义与研究内容 嵌入式工业的基础是以应用为中心的芯片设计和面向应用的软件丌发。中国将是世 界上最大的r t o s 市场之一。就目前的技术而言,我国的嵌入式l i n u x 研究成果与市场 的真正需求还有一段差距。因此,要开发出真j 下成熟的强实时性的l i n u x ,还需要不断 的进行努力。并且,嵌入式开发领域的研究和开发活动在诸多方面都具有很高的价值和 重要的意义。 ( 1 ) 全新的开发模式 目前我国完全可以在这一领域走出一条技术完全自主控制的自主知识产权道路。研 究、设计、实现的全过程是在完全自主控制的状态下进行的,研制成果不涉及任何版权 问题,全部为自论文组织结构主产权。因此,一切工作以及将来的产品转化可以在最自 由的范围内展开。 ( 2 ) 高科技含量的成果 深入的研究和分析,让更多的研发人员可以在这个新兴领域获得更深入的实践机 会,有利于在这一领域提出一套比较完整的嵌入式系统的设计和实现方案。 ( 3 ) 良好的市场前景 目前,虽然市场上已经出现了各式各样的移动设备,但是作为一个新兴产业,当前 - 3 - 东北大学硕士学位论文 第1 章绪论 产品在性能、功能等方面还不是很成熟,应用范围还没有得到充分拓展,而且在价格方 面,这类产品还属于高档消费品,还不可能像一般电子产品一样被广大用户接受。由于 受到成本和应用范围等因素的限制,嵌入式系统还有很大的开发和应用空间。 ( 4 ) 教学领域的价值 随着后p c 时代的到来,传统计算机科学的研究领域也在不断的发展。嵌入式系统 及其开发就是这样一个新兴的科研领域,必将丰富高校的教学科研内容。 1 4 论文结构 作为软件支撑环境,嵌入式l i n u x 实时操作系统的改进在嵌入式系统的地位是十分 重要的。实时性能作为考核嵌入式实时操作系统性能的重要指标,在研究与开发中应予 以高度的重视,本文通过对l i n u x 进行双内核实时系统改进、时钟机制和进程调度的分 析,给出解决方案,有效提高l i n u x 操作系统的实时性日p - 匕p _ , ;使得以此为基础设计的嵌入 式实时l i n u x 具有很强的实时l 生能,符合了课题的需要。 全文的结构安排如下: 第一章是对嵌入式系统操作系统及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 x2 6 内核进程调度程序进行分析与改进。并在保持了原有系统o ( 1 ) 调度特性的同时,进一步提高了系统的实时性。 第五章在l i n u x 中实现一个实时时钟,并找出原内核中关于时钟的处理部分不满足 实时要求的地方,分别进行修改。 第六章阐述了实现双内核机制的技术,并设计与实现了可抢占式内核,最后构建实 时l i n u x 系统。 第七章通过使用测试工具l i n u xt r a c et o o l k i t0 9 5 来比较修改后的内核在实时方面 的改进,实验证明所使用的改进方案较好的解决了普通l i n u x 在实时方面的不足。 第八章对本文所做的工作进行客观的评价分析,并对进一步可采取的改进思路进行 简单描述。 - 4 - 东北大学硕士学位论文 第2 章嵌入式操作系统实时, 生研究 第2 章嵌入式操作系统实时性研究 2 1 实时操作系统介绍 实时操作系统( r t o s ) 是指能对外部事件在限定的时间内做出并完成响应的多任务 操作系统,它是嵌入式计算机中的重要的系统资源,与通用平台的操作系统不同,它往 往嵌入到目标机硬件设备内部运行,一般用户无法看到它的运行界面,因而又被称为嵌 入式操作系统【4 】。它往往具有实时性、可靠性和可裁减性的特点,非常适合于嵌入式系 统和要求实时处理的应用场合。 2 1 1 实时与实时系统 所谓“实时”,大多数资料显示,指的是能够在规定时间内完成任务,对随机发生 的外部事件做出及时响应和处理。从对任务完成截止时间的需求方面讲,实时系统被分 成了硬实时系统和软实时系统两类。硬实时系统指那些如果没有在规定时间内完成任务 就会引发灾难性后果的系统;软实时系统则是指那些如果没有在规定时间内完成任务不 会引发严重后果的系统。因此,“实时 这个概念实际上是从满足应用的角度提出的。 如果一个系统能及时响应外部事件的请求,在规定的时间内完成处理,并控制所有 实时任务协调一致地运行,那么这个系统就可以称为“实时系统”。实时系统的特性主 要有三点:高可靠性、及时性和时限的保证性5 1 。这里的“系统”是一个硬件和软件的 结合体。在满足实时性要求方面,软、硬件开发是相辅相成的。实时性在开发方面更多 的表现为提高系统的响应速度,加快系统的处理速度等。因而,在硬、软件设计两方面 都应该存在实时开发的问题。 特别是在软件方面,一个实时系统和一个普通系统存在着很多差异。其中,比较显 著的一点是,在有操作系统的系统中,任务与操作系统在以上两类系统中的地位和关系 有所不同。在一个普通系统中,任何任务都依赖操作系统来完成功能,总是由操作系统 控制着应用任务的执行和完成时间。这时,操作系统是主角,应用任务是配角。而在一 个实时系统中,操作系统是为实时任务服务的,实时任务对完成时间的要求决定着操作 系统的控制。这时,实时任务是主角,操作系统是配角。在任务和操作系统之间起桥梁 纽带作用的是操作系统的任务调度机制。这是本文讨论实时操作系统实时性的重点。 2 1 2 实时操作系统 - 5 - 东北大学硕士学位论文第2 章嵌入式操作系统实时性研究 实时操作系统( r t o s r e a lt i m eo p e r a t i o ns y s t e m ) 是指一个能够在指定的时间范围 内完成特定的功能或者对外部的异步事件作出响应的操作系统【6 1 。实时操作系统上的进 程执行结果不仅依赖于逻辑判断和逻辑计算的j 下确性,而且还依赖于执行过程中所花费 的时间的长短。所以实时操作系统必须能够确保其进程对时间的要求,即必须确保在要 求的时间内完成指定的任务。在相当一部分嵌入式系统中,系统的实时性对于系统的成 败有着至关重要的作用。因此,在嵌入式操作系统中,大部分也是实时操作系统【7 - 1 0 。 虽然不同的使用要求使的不同的实时操作系统可能有很大的差异性,但是大多数实 时操作系统都有如下的特点: ( 1 ) 多任务( m u l t i p l et a s k s ) 多任务运行的实现实际上是靠c p u ( 中央处理单元) 在许多任务之间转换、调度。 c p u 只有一个,轮番服务于一系列任务中的某一个。多任务运行很像前后台系统,但后 台任务有多个。多任务运行使c p u 的利用率得到最大的发挥,并使应用程序模块化。 在实时应用中,多任务化的最大特点是,开发人员可以将很复杂的应用程序层次化。使 用多任务,应用程序将更容易设计与维护。 一个任务,也称作一个进程,是一个简单的程序。该进程可以认为c p u 完全只属 于该进程自己。实时应用程序的设计过程,包括如何把问题分割成多个任务,每个任务 都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套c p u 寄存 器和自己的栈空间。每个任务都是一个无限的循环。每个任务都处在以下5 种状态之一 的状态下,这5 种状态是休眠态、就绪态、运行态、挂起态( 等待某一事件发生) 和被 中断态。 休眠态相当于该任务驻留在内存中,但并不被多任务内核所调度;就绪态意味着该 任务已经准备好可以运行了,但由于该任务的优先级比正在运行的任务的优先级低,还 暂时不能运行;运行态的任务是指该任务掌握了c p u 的控制权,正在运行中;挂起状 态也可以叫做等待事件态w a i t i n g ,指该任务在等待,等待某一事件的发生( 例如等待某 外设的i o 操作,等待某共享资源由于暂不能使用变成能使用状态,等待定时脉冲的到 来或等待超时信号的到来以结束口前的等待) ;最后发生中断时,c p u 提供相应的中断 服务,原来正在运行的任务暂不能运行,就进入了被中断状态。 ( 2 ) 上下文切换( c o n t e x ts w i t c ho rt a s ks w i t c h ) c o n t e x ts w i t c h 1 1 1 实际含义是任务切换或c p u 寄存器内容切换。当多任务内核决定 运行另外的任务时,它保存正在运行任务的当前状态( c o n t e x t ) ,即c p u 寄存器中的全部 - 6 - 东北大学硕士学位论文第2 章嵌入式操作系统实时性研究 内容。这些内容保存在任务的当前状况保存区( t a s k sc o n t e x ts t o r a g e a r e a ) ,也就是任务 自己的栈区之中。入栈工作完成以后,就是把下一个将要运行的任务的当前状况从该任 务的栈中重新装入c p u 的寄存器,并开始下一个任务的运行。这个过程叫做任务切换, 任务切换过程增加了应用程序的额外负荷。c p u 的内部寄存器越多,额外负荷就越重, 任务切换所需要的时间取决于c p u 有多少寄存器要入栈。实时内核的性能不应该以每 秒能做多少次任务切换来评价。 ( 3 ) 内核( k e r n e l ) 多任务系统中,内核负责管理各个任务,或者说为每个任务分配c p u 时间,并且 负责任务之间的通信。内核提供的基本服务是任务切换。之所以使用实时内核可以大大 简化应用系统的设计,是因为实时内核允许将应用分成若干个任务,由实时内核来管理 它们。内核本身也增加了应用程序的额外负荷,代码空间增加r o m 的用量,内核本身 的数据结构增加了r a m 的用量。但更主要的是,每个任务要有自己的栈空间,这一块 吃起内存来是相当厉害的。内核本身对c p u 的占用时间一般在2 到5 个百分点之间。 ( 4 ) 调度( s c h e d u l e r ) 调度( s c h e d u l e r ) 1 2 1 是内核的主要职责之一,就是要决定该轮到哪个任务运行了。多 数实时内核是基于优先级调度法的。每个任务根据其重要程度的不同被赋予一定的优先 级。基于优先级的调度算法指:c p u 总是让处在就绪态的优先级最高的任务先运行。然 而,究竟何时让高优先级任务掌握c p u 的使用权,有两种不同的情况,这要看用的是 什么类型的内核,是不可剥夺型的还是可剥夺型内核。 r t o s 的进程调度策略是直接影响实时性能的因素。尽管调度算法多种多样,但大 多由单调速率算法( r m s ) 和最早期限优先算法( e d f ) 变化而来。前者主要用于静态周期 任务的调度,后者主要用于动态调度。在不同环境状态下,两类算法各有优劣。在商业 产品中采用的实际策略常常是各种因素的折中。 2 1 3 实时操作系统的主要性能指标 r t o s 是操作系统研究的一个重要分支,它与一般商用多任务o s 如u n i x 、w i n d o w s 、 m u l t i f i n d e r 等有共同的一面,也有不同的一面。对于商用多任务o s ,其目的是方便用 户管理计算机资源,追求系统资源最大利用率。而r t o s 追求的是实时性、可确定性、 可靠性。评价一个实时操作系统一般可以从任务调度、内存管理、任务通信、内存开销、 任务切换时间、最大中断禁止时间等几个方面来衡量: - 7 - 东北大学硕士学位论文 第2 章嵌入式操作系统实时性研究 ( 1 ) 任务调度机制 r t o s 的实时性和多任务能力在很大程度上取决于它的任务调度机制。 ( 2 ) 最小内存开销 r t o s 的设计过程中,最小内存开销是一个较重要的指标,这是因为在工业控制领 域中的某些工控机( 如上下位机控制系统中的下位机) ,由于基于降低成本的考虑,其内 存的配置一般都不大。 ( 3 ) 最大中断禁止时间 当r t o s 运行在内核态或执行某些系统调用的时候,是不会因为外部中断的到来而 中断执行的。只有当r t o s 重新回到用户态时才响应外部中断请求,这一过程所需的最 大时间就是最大中断禁止时间。 ( 4 ) 任务切换时间 当由于某种原因使一个任务退出运行时,r t o s 保存它的运行现场信息、插入相应 队列、并依据一定的调度算法重新选择一个任务使之投入运行,这一过程所需时间称为 任务切换时间。 2 1 4 实时系统与分时系统的差异与改进 通用操作系统多数由分时操作系统发展而来,大部分支持多用户和多进程。而分时 操作系统的基本设计原则是:尽量缩短系统平均响应时间,提高系统的吞吐率,在单位 时间内为尽可能多的用户提供服务。通用操作系统中采用的很多算法和策略技巧都体现 了这种设计原则【1 3 】。 与通用操作系统不同,实时操作系统注重的不是系统的平均表现,而是要求每个实 时任务在最坏情况下都要满足实时性要求,也就是说,实时操作系统注重的是个体表现, 更准确地讲是个体最坏情况表现。举例来说,如果实时操作系统采用标准的虚存技术, 则一个实时任务执行的最坏情况是每次访存都需要调页,如此累计起来的该任务在最坏 情况下的运行时间是不可预测的,因此该任务的实时性将无法得到保证。从而可以看出 在通用操作系统中广泛采用的虚存技术在实时操作系统中不宜直接采用。 由于它们的基本设计原则不同,导致二者在资源调度策略的选择上、操作系统实现 的方法上都有较大差异。这些差异主要体现在: ( 1 ) 任务调度策略的差异 一般的l i n u x 系统是按照分时系统的目标设计的,以达到系统较好的平均性能,强 8 - 东北大学硕士学位论丈第2 章嵌入式操作系统实时性研究 调平衡各个进程之间的响应时间来保证公平的c p u 时间占用。通常采用固定时间片的 分时调度算法,内核不能抢占。而实时系统的行为更多的取决于复杂的不可预知的情况。 这些原则不能满足实时系统短的响应时问和确定的执行行为的要求。 ( 2 ) 定时机制的不足 时间系统是计算机重要的组成部分,其主要作用是提供系统时间。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 0 毫秒,这个时钟不能满足实时的要求。普通用户只能调用信号量和s l e e p ( ) 等系统调用。这样的应用显然也不适合实时系统的需要。 ( 3 ) 中断处理的差异 在通用操作系统中,对用户进程一般做分时处理,没有实时性方面的要求而中断处 理程序直接跟硬件设备交互,可能有实时性要求,因此中断处理程序的优先级被设定为 高于任何用户进程。但实时操作系统中,各用户进程一般都有实时性要求,因此中断处 理程序优先级不应该被设置为高于所有用户进程的优先级。而且,为提高时钟中断响应 时间的可预测性,实时操作系统应尽可能少的屏蔽中断。中断完成外部设备和l i n u x 系 统之间的数据通信,可以认为,中断是实现异步数据系统之间联系的一种重要手段。中 断处理服务可看作是l i n u x 设备驱动的一部分,l i n u x 通过v f s 方式统一管理设备系统, 进一步捕获中断,执行中断服务。中断处理服务包括硬件和软件相关部分。硬件相关部 分的操作主要完成外部设备数据到l i n u x 系统的通信。对于p c 架构,可采用中断嵌套 的方法使得高优先权的中断任务先得到服务;软件相关部分主要由l i n u x 内核完成,包 括现场保护、与文件系统的协调、内核资源的分配等。但l i n u x 内核的进程经常关闭中 断以尽快完成自己的任务,如果低优先级的进程关闭了中断,那么即使有高优先级的实 时进程中断发生,系统也无法响应。有些系统调用的时间很长,增加了中断延时和调度 延时,这种情况在实时系统中是不允许发生的。 ( 4 ) 共享资源的互斥访问的差异 一个共享资源是指可以由多于一个任务使用的资源,每一个任务应该获得共享资源 的独占使用权,以防止数据被破坏,这被称为互斥。通用操作系统一般采用信号量机制

温馨提示

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

评论

0/150

提交评论