(信号与信息处理专业论文)嵌入式实时linux系统的构建.pdf_第1页
(信号与信息处理专业论文)嵌入式实时linux系统的构建.pdf_第2页
(信号与信息处理专业论文)嵌入式实时linux系统的构建.pdf_第3页
(信号与信息处理专业论文)嵌入式实时linux系统的构建.pdf_第4页
(信号与信息处理专业论文)嵌入式实时linux系统的构建.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

(信号与信息处理专业论文)嵌入式实时linux系统的构建.pdf.pdf 免费下载

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

文档简介

摘要 摘要 作为最主要的开放源码的操作系统之一,l i n u x 具有内核源码公开、性能稳定、 兼容u n i x 、支持多种处理器、网络功能强、安全性高、内核可剪裁等一系列优点, 正迅速进入实时控制领域。l i n u x 最初是作为通用操作系统而设计开发的,其设计 的基本原则是尽量缩短系统的平均响应时间并提高系统的吞吐量,尽管l i n u x 也提 供了一些实时处理的支持,包括支持大部分p o s i x 标准中的实时功能、多任务、 多线程、可抢占内核、o ( 1 ) 进程调度算法等,但是,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 2 6 内核中已经成功实现的o ( 1 ) 调度程序保证了进程调度的时间为常数,并实现了抢 占式调度;2 6 内核还支持可抢占性,只要重新调度是安全的,正在执行的任务就 可以在任何时间被其他可执行任务抢占。可见2 6 内核在进程调度和提高内核可抢 占性两个方面已经取得了较好的改进。本课题的主要精力是集中在内部改造l i n u x 内核来为应用程序带来实时性能这个主题上,主要内容如下: ( 1 ) 分析了l i n u x 2 6 内核的中断机制,以及打上i n g om o l n a r 的实时化补丁 后的内核的中断机制,分析如何通过改进中断机制来提高l i n u x 系统的实时性能。 ( 2 ) 提出改进方案:将中断作为内核线程并赋予不同的实时优先级,在中断 服务程序入口函数中进行当前任务优先级与中断线程优先级的比较,不同的情况 进行不同的处理,从而保证实时性高的任务不被打扰,优先级高的中断能立即响 应;分析了标准l i n u x 的同步机制,以及l i n u x 自旋锁的不足之处,在实时方案中 用互斥代替自旋锁加以改进。 ( 3 ) 对这种方案进行分析和测试,改进后的系统较好地解决了标准l i n u x 在 实时性方面存在的不足使之成为一个软实时系统,明显提高了任务相应时间的精 度,可以应用在众多具有软实时要求的环境中,在规定时间内完成数据采集、处 理工作、多媒体信息处理、过程控制等要求迅速相应的工作,例如基于网络的监 i 摘要 控系统,室内温度控制系统等应用。 ( 4 ) 讨论期间选型和模块划分,构造硬件平台,实现了基于a r m 9 开发平台 的嵌入式实时l i n u x 系统的构建,包括开发平台b o o t l o a d e r 的开发,实时l i n u x 内 核镜像的编译,交叉编译环境的建立,根文件系统的移植,经过后期系统的长期 运行测试,证明了该系统的实时性能良好,系统运行稳定。 关键词:实时,中断,实时优先级,系统移植,l i n u x a b s t r a c t a b s t r a c t a m o n g m a i no p e ns o u r c es o f h v a r e s ,l i n u xi sq u i c k l ye n t e r i n gt h er e a l t i m ec o n t r o l f i e l dw i t ho p e nk e r n e ls o b r c ec o d e s ,s t a b l ep e r f o r m a n c e ,u n i xc o m p a t i b i l i t y , m u l t i p l e p r o c e s s e sa p p l i c a b i l i t y , g r e a tn e t w o r kc a p a b i l i t i e s ,h i g hs e c u r i t ya n dp r u n e dk e r n e l i n t h eb e g i n n i n g ,l i n u xi sd e s i g n e da sa l l - p u r p o s eo p e r a t i o ns y s t e mo nt h eb a s i so f f u n d a m e n t a l st h a tt h ea v e r a g er e s p o n s et i m ei sa sp o s s i b l ea ss h o r ta n dt h et h r o u g h p u ti s a sp o s s i b l ea sh i g h a l t h o u g hl i n u xa l s os u p p o r t st h er e a l t i m ep r o c e s sw i t hp o s i x c o m p l i a n tr e a l t i m ef u n c t i o n ,m u l t i t h r e a d ,m u l t i t a s k s ,i t s r e a l - t i m ec a p a b i l i t yi sv e r y p o o r u pt on o w , m a n yw a y sa r ea p p l i e dt oi m p r o v er e a l - t i m ep e r f o r m a n c eo fl i n u x k e r n e l ,s o m eo ft h e ma r er e l a t i v e l ys u c c e s s f u l t h e s ew a y sf o c u s e do nt h ef o l l o w i n g f i e i l d s :a d dr e s c h e d u l i n gp o i n t s ,i m p r o v ei t sp r e e m p ta b i l i t y ;a d da n o t h e rk e r n e lt ot a k e o v e rt h es t a n d a r dl i n u xk e r n e l ,m a k et h ea d d e dk e r n e lt a k i n gc a r eo fr e a l - t i m e i n t e r r u p t s ;m o d i f yt h es t a n d a r dl i n u xi n t e r r u p t s ,m a k e i n t e r r u p th a n d l e da sa t a s k o u rw o r ki sp a r to ft h ep r o j e c tt h en e t w o r km o n i t o r i n gs y s t e mb a s e do nl i n u x b a s e do ns o m er e a r c hw ek n o wt h a tt h el i n u xh a sg a i ng r e a ti m p r o v e m e n ti nr e a l t i m e c a p a b i l i t y s ow ef o c u so nh o w t oi m p r o v et h er e a l - t i m ec a p a b i l i t yf o ra p p l i c a t i o nf r o m t h el i n u xk e r n e li n s i d e f i r s t l yw ea n a l y s et h ei n t e n u p tm e c h a n i s mi ns t a n d a r dl i n u x2 6a n d t h el i n u x2 6 p a t c h e db yi n g om o l a r , a n d f i n dh o wt or e a l i z et h ei n t e r r u p tt h r e a dm e c h a n i s m s e c o n d l yw eg i v eam e t h o dt oi m p r o v et h ei n t e r r u p tm e c h a n i s m ,m a k ea t h r e a df o r e a c hi n t e r r u p t t h ei n t e r r u p tt h r e a d sa r ei nt h es a m el e v e lw i t hc u r r e n tt a s k s t h r e a d s , a n dc a nb es c h e d u l e dj u s tb yt h ev a l u eo ft h et h r e a d sr e a l t i m ep r i o r i t y f u r t h u rm o r e , w ea d dac o m p a r i s o nm e c h a n i s mt oc o m p a r et h ep r i o r i t yo ft h ec u r r e n tr e a l - t i m et a s k a n dt h ei n t e r r u p tt h r e a d ,i ft h ec u r r e n tt h r e a di sn o tar e a l - t i m eo n eo ri t sp r i 嘶t yi sl o w e r t h a nt h ei n t e r r u p tt h r e a d s ,i tw i l ld i r e c t l yc a l lt h eu s e r si n t e r r u p ts e r v i c er o u t i n e ,i n s t e a d o fw a k i n gu pt h ei n t e r r u p tt h r e a d i nt h i sw a y , t h ei n t e r r u p t sr e s p o n s et i m ew i l lb e d e c r e a s e d t h i r d l yw ea n a l y s ea n dt e s tt h ei m p r o v e dm e t h o d ,f r o mt h et e s t sw ec o n c l u d et h a t o b rm e t h o dc o u l dm e e tt h en e e d so fas o f tr e a l - t i m es y s t e m ,f o ri tg r e a t l yd e c r e a s e st h e i i i t a s kr e s p o n s et i m ea n dc o u l da p p l i e d w i d e l y l a s tw e p o r tt h er e a l - t i m el i n u xs y s t e mt oap l a t f o r mb a s e do ns a r n s a n gs 3 c 2 4 1 0 m i c r o p r o c e s s o r t h et a s ki sc o n t a i n e do ft h ef o l l o w e dj o b s :d e v e l o p i n gt h eb o o t l o a d e r f o rt h ep l a t f o r m ;m a k i n gt h er e a l - t i m ek e r n e li m a g e ;d e v e l o p i n gt h e r o o tf i l es y s t e m k e y w o r d s :r e a l - t i m e , i n t e r r u p t s ,p r i o r i t y , s y s t e mp o r t i n g ,l i n u x i v 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明 确的说明并表示谢意。 繇孚盛珞 吼年月日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:邋导师签名: 日期: 警陟 年月日 第一章引言 1 1 论文研究背景及意义 第一章引言 在后p c 时代,一场新的、更加深入的i n t e r n e t 革命正在悄然兴起,这场革命 的主导是将网络世界中目前已经实现了的人与人之间的互连,进一步发展为人与 设备、设备与设备之间的互连【l 】。导致这场革命的核心技术就是嵌入式系统 ( e m b e d d e ds y s t e m ) 的广泛应用。 在嵌入式操作系统领域内,传统的主流嵌入式操作系统如p s o s ,v x w o r k s 价 格昂贵,而且要按产品数量缴纳版税,对中小系统来说成本影响很大,带来应用 上的巨大屏障。系统内核不公开,一切开发要依赖于操作系统提供商提供的支持, 这些问题导致它们难以适应现代普及性应用的需求【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 增加实时调度能 力,目前有多种方法对l i n u x 进行实时化改造,要将l i n u x 用于嵌入式实时领域, 需要对l i n u x 内核进行实时化改造,使它更好地满足实时应用的要求【3 】。 本课题希望通过对l i n u x 系统实时性能的改造,达到嵌入式远程监控系统所需 要的软实时性能,使l i n u x 系统能够更好的应用于嵌入式领域,同时本文对l i n u x 实时性能的改造方案对嵌入式系统在其他领域的应用也有很好的借鉴意义。 电子科技大学硕士学位论文 1 2 嵌入式实时系统概述 1 2 1 嵌入式系统概述 根据电气工程师协会( i e e ) 的一个定义:嵌入式系统是用来控制、监视或辅助 设备、机器或工厂运行的装置。嵌入式系统是以应用为中心,以计算机技术为基 础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有 严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式 操作系统以及用户应用程序等四个部分组成,用于实现对其他设备的控制、监视 或管理等功能。嵌入式系统具备下列特性【4 1 。 ( 1 ) 通常只执行特定功能。这一点与一般桌上型办公设备或数据库系统有很 大区别。 ( 2 ) 以微型计算机与周边器件构成核心,其规模可以在很大范围内变化。如 从8 0 5 1 芯片到x 8 6 芯片。 ( 3 ) 严格的时序和稳定性要求。这是因为在机器控制的大型系统中,程序运 行稍有差错就可能使整个系统失去控制,甚至酿成灾害。 ( 4 ) 全自动循环操作。 1 2 2 嵌入式实时系统 所谓实时,就是一个特定任务的执行时间必须是确定的,可预测的,并且在 任何情况下都能保证任务的时限( 最大执行时间限制) 瞪】。实时意味着确定性,而不 仅仅是速度快。一个实时系统必须对现实世界的事件作出反应,在截止时间之前 完成处理工作。一个正确的结果在截止时间之后提交就变成了错误的结果。截止 时间是由实时系统本身确定的,它的范围可以从几十微秒到几秒钟不等【6 】。按照实 时性来划分,嵌入式操作系统可分为嵌入式实时操作系统和嵌入式非实时操作系 统。根据实时性的强弱,又可将嵌入式实时系统进一步分为硬实时、软实时系统【_ 7 1 。 ( 1 ) 硬实时系统 硬实时对系统响应时间有严格的要求,如果系统响应时间不能满足,就会引 起系统崩溃或者致命的错误。例如航天中的宇宙飞船控制系统和导航系统就是硬 实时系统,它要求系统能在限定的时限内完成特定的任务,否则就可能造成致命 的后果。 ( 2 ) 软实时系统 2 第一章引言 软实时是指统计意义上的实时,一般指整体吞吐量大或整体响应时间快。软 实时系统对响应时间有要求,但是如果系统响应时间不能满足,不会导致系统崩 溃或致命的错误。例如实时多媒体系统就是一种软实时系统,它要求系统能够在1 秒钟播放2 4 帧,但是如果在严重负载的情况下不能保证也是可以接受的。一个系 统的实时性能与硬件、操作系统以及应用程序三方面都有关系。提高硬件能力可 以在一定程度上提高实时j 眭;但当硬件条件确定之后,嵌入式系统的性能主要由 操作系统来决定,其中实时内核起着关键作用。嵌入式应用领域对实时操作系统 提出了很多要求,尤其对于嵌入式实时内核,通常要具有如下特性【8 1 。 ( 1 ) 实时性 由于实时系统接收来自现场的事件,对这种事件的响应速度直接影响现场过 程控制或服务的质量。所以实时系统对响应时间有严格要求,通常可能是秒的数 量级,也可能是毫秒级甚至微秒级。 ( 2 ) 可靠性 可靠性对于实时系统来说通常比非实时系统更为重要。一个非实时系统中的 一个错误可以简单地通过重新启动系统来解决:但是一个实时系统是以实时的方 式响应和控制事件的,性能的丢失或降级可能会带来灾难性的后果。为了保证应 用系统运行的可靠性,嵌入式实时操作系统必须提供诸多机制,包括异步信号、 定时器、优先级继承、异常出错处理、内存保护等。其中异常出错处理机制是保 证可靠性的关键因素。异常出错处理为用户提供 处理应用程序造成的非正常情况的机制;而对于内核运行时出现的错误,异 常出错处理记录错误的来源,判断错误的性质从而消除错误,使系统继续正常运 行。 ( 3 ) 确定性 实时性与确定性紧密相关。实时性是指实时内核应该保证系统尽可能快地对 外部事件产生响应,而确定性是指系统对外部事件响应的最坏时间是可以预知的。 对于实时内核,高的实时性和好的确定性是缺一不可的。一个系统是确定的,就 意味着系统能在固定的、预先确定的时间间隔内操作【9 1 。 ( 4 ) 响应性 确定性关心的是系统在识别一个外部事件( 通常是以中断的形式到达) 之前有 多长的延迟;而响应性关心的是在识别外部事件后,系统要花多长时间来服务该 事件。确定性和响应性结合在一起构成了系统对外部事件的响应时间。对于多任 务实时应用来说,可以分为两种情况:中断响应时间和任务响应时间。响应时间 3 电子科技大学硕士学位论文 对实时系统来说很关键,对强实时操作系统来说,响应时间应该在微秒( ps ) 级。 1 2 3 国内外发展现状和趋势 目前业界主要应用的嵌入式实时系统v x w o r k s ,w i n d o w sc e 等,它们的比较 如下表: 表1 - 1 主流嵌入式系统比较 坛肋r k s缪场d o w sc eu c o s 嵌入式l i n u x 成本昂贵较高较低免费 开放源码否 否 是开放源码, 遵循g p l 条款 可移植性一般较差一般符合p o s i x 标 准,支持广泛 可定制性一般一般一般内核可裁减 实时性硬实时较差,软实 较好一般 时 可靠性较好一般较好较好 纵观嵌入式系统的发展历史,可以看出: ( 1 ) 硬件技术的发展和价格的下降,嵌入式领域使用的硬件配置越来越高, 嵌入式系统的处理能力不断提高,开发者可以选用功能更加强大的嵌入式操作系 统。 ( 2 ) 随着实时操作系统的广泛使用,高级语言编程成为嵌入式系统设计的必 然趋势。 ( 3 ) 嵌入式系统的未来将向多媒体化和网络化方向发展,特别是与i n t e m e t 和无线网络的结合;在智能化方面,基于知识的嵌入式系统也将是一个发展方向。 ( 4 ) 嵌入式产品的开发速度将越来越受到开发者的重视,为了加快嵌入式系 统的开发速度,更多的开发者将采用软硬件协调的设计方式。 4 第一章引言 1 3 嵌入式远程视频监控系统 1 3 1 远程监控系统概述 远程监控是本地计算机通过网络系统如i n t e m e t i n t r a n e t ,对远端进行监视和控 制,完成对分散控制网络的状态监控及设备的诊断维护等功能。我们通常把能够 实现远程监控的通信媒体、嵌入式软件、硬件系统称为远程监控系统。 1 3 2 国内外发展现状及趋势 视频监控系统经历了本地模拟信号监控系统,基于p c 插卡的数字监控系统, 基于嵌入式技术的网络数字监控系统等发展过程: ( 1 ) 本地模拟信号监控系统 ( 2 ) 基于p c 插卡的数字监控系统。终端功能较强,便于现场操作,但稳定 性不好 ( 3 ) 基于嵌入式技术的网络数字监控系统 基于嵌入式设备的监控系统的优点是:由于这种系统的硬件是一个同处理器 和操作系统捆绑较为紧密、功能专一、专门设计的独立的设备,不像插卡系统那 样受通用计算机系统中其它软件硬件的影响,因此性能上更稳定,且便于安装、 维护,易于实现系的模块化设计,便于管理、维护。 从以前的模拟监控到现在的数字监控;从落后的现场监控到先进的远程监控; 从有人值守监控到现在的无人值守监控,视频监控技术正朝着网络化、移动化、 智能化的方向蓬勃发展。 ( 1 ) 网络化 统一标准的监控网络系统具有通用性强、开放性好、系统组态灵活、控制功 能完善、数据处理方便、人机界面友好以及系统安装、调试和维修简单化,系统 运行互为热备份,容错可靠等众多优点。 ( 2 ) 移动化 监控终端可以变得更小型化,更便于携带和隐藏。 ( 3 ) 智能化 机器人和人工智能技术与视频技术结合也成为了视频监控的一个发展趋势。 5 电子科技大学硕士学位论文 1 4 论文研究内容 本文的研究内容是嵌入式远程视频监控系统的一部分,嵌入式远程视频监控 系统的功能是利用摄像设备采集记录现场数据包括图像、视频,并通过局域网或 者因特网发送处理过的现场数据。 嵌入式远程监 控系统 应用程序 耋 操作系统 硬件平台 微处理器存储器 外围设备 图1 - 1 嵌入式远程监控系统组成框图 嵌入式远程监控系统主要要求: ( 1 ) 软件升级方便,能通过网络进行升级和维护; ( 2 ) 软件功能具有可扩展性; ( 3 ) 完整t c p 口协议栈的支持; ( 4 ) 在较高的网络负载和i o 负载较高时能迅速响应,具备软实时性能。 在众多的操作系统当中,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 内核来为应用程序带来实时性能这个主题上。由各方面分析得知,2 6 内核中已经成功实现的o ( 1 ) 调度程序保证了进程调度的时间为常数,并实现了抢 占式调度;2 6 内核还支持可抢占性,只要重新调度是安全的,正在执行的任务就 可以在任何时间被其他可执行任务抢占。可见2 6 内核在这两个方面已经做得很不 6 第一章引言 错了。所以本文就不将研究的重点放在这两个方面。 本文主要考虑的是实时任务在执行过程中被中断而造成的响应时间过长的问 题。以此为突破口,分析了标准l i n u x 2 6 内核的中断机制,并为2 6 1 8 内核打上 i n g om o l a r 的实时化补丁,分析打上补丁后的内核的中断机制,总结了中断线程化 思想的具体实现过程。参考中断线程化的思想,提出一种实时化方案:将中断作 为内核线程并赋予不同的实时优先级,在中断服务程序入口函数中进行当前任务 优先级与中断线程优先级的比较,不同的情况进行不同的处理,从而保证实时性 高的任务不被打扰,优先级高的中断能立即响应。 因此,本课题的主要工作可以分为如下几个方面。 ( 1 ) 2 6 1 8 内核中断机制的分析,首先从可抢占性、中断机制、存储管理机 制几方面来讨论影响l i n u x 实时性的因素,其次分析了衡量l i n u x 实时性能的主要 指标,然后从若干方面来增进l i n x u 的实时性能并且讨论了l i n u x 作为实时操作系 统的优劣。 ( 2 ) i n g o 实时补丁( 针对内核版本2 6 1 8 的补丁) 的实时实现技术研究,该技 术的主题思想是将中断( 实时时钟除外) 由允许睡眠的内核线程来管理,并使用 软实时策略来调度这些线程,中断不会立即得到执行,这样实时任务的优先级得 到了更高的可控性。 ( 3 ) 在参考分析i n g o 的l i n u x 实时化方案的基础上,提出一种改进型的l i n u x 的软实时实现方案,将中断作为内核线程并赋予不同的实时优先级,主要思想是: 在中断服务程序入口函数中进行当前任务优先级与中断线程优先级的比较,不同 的情况进行不同的处理( 根据实时任务优先级为中断安排适当的执行时间,从而 保证实时性高的任务不被打扰,优先级高的中断能立即响应) 。 ( 4 ) 分析了标准l i n u x 的同步机制,以及l i n u x 自旋锁的不足之处,提出了 互斥代替自旋锁的改进方案。 ( 5 ) 对自己设计的实时化方案进行正确性分析,并且测试了改进方案的效果。 衡量实行系统性能的首要标准就是是否能在给定的时间内对任务做出响应( 根据 韦伯斯计算机词典中关于延迟的定义:激励和相应之间的间隔时间) ,任务响应时 间无疑是最直观的指标,本文把这一指标作为实时系统性能的衡量标准。 ( 6 ) 作为嵌入式l i n u x 网络监控系统的一部分,实现了基于a r m 9 开发平台 的嵌入式l i n u x 系统构建,包括硬件的设计和软件系统的搭建,为后续的二次开发 做好了准备。 本课题通过这种实时化方案,期望能在直接修改l i n u x 内核以提高实时性这个 7 电子科技大学硕士学位论文 研究方向上做出有意义的尝试。 8 第二章嵌入式实时l i n u x 系统 第二章嵌入式实时l i n u x 系统 关于实时操作系统的几个重要原则如下【1 0 】。 ( 1 ) 必须支持多线程和内核抢占; ( 2 ) 线程应具备优先级的概念; ( 3 ) 操作系统应该支持可预测的线程同步机制; ( 4 ) 应该存在优先级继承体制; ( 5 ) 操作系统的行为是确定的。 2 1 影响实时性的因素 2 1 1 抢占式调度与非抢占式调度 任务的调度,就是当系统有多个就绪任务时,如何确定由哪个任务实际 占有c p u 。任务调度性能的好坏,直接影响操作系统性能的好坏。任务调度 通常采用两种方式:非抢占方式和抢占方式,如图2 1 所示。 高优先级任务 非抢占式调度 7 i s r 使高优先级任务就绪 图2 - 1 非抢占式调度与抢占式调度示意图 非抢占式调度:中断服务以后,c p u 使用权归还给原来被中断了的那个任务, 9 电子科技大学硕士学位论文 直到该任务主动放弃c p u 的使用权,新就绪的高优先级的任务才能获得c p u 的使 用权。 抢占式调度:中断服务程序使一个高优先级任务就绪,中断完成后,高优先 级任务开始运行。 常用的任务调度算法包括优先级调度策略、时间片轮转调度策略等。目前比 较流行的思路是采用基于优先级的可抢占调度作为主要的调度方式,配合同优先 级时间片轮转调度作为可选择的调度方式,兼顾同优先级任务,使它们具有平等 的运行权利。典型地,低优先级任务在运行过程中响应中断,执行中断服务程序( i s r ) 过程中使高优先级任务就绪,当i s r 返回且中断嵌套层数为0 时,内核进行重新 调度,让新就绪的高优先级任务获得c p u ,即发生抢占式调度,使得任务响应时 间得以优化。 在标准l i n u x 内核中,在对线程和进程的c p u 占用上采用了“公平 调度策 略。这样的策略能够提供良好的整体表现,但是不能保证高优先级、对时间要求 严格的线程将优先于低优先级的线程执行【1 1 1 。 2 1 2 内核的可抢占性 可抢占内核与抢占式调度是不同的概念。采用抢占式调度方式的内核不一定 是可抢占内核。把内核设计成可抢占内核,可进一步提高其响应性。可抢占内核: 即使正在执行的是内核服务函数,也能响应中断,并且中断服务程序退出时能进 行任务重新调度( 如果有优先级更高的任务就绪,就立即让高优先级任务运行,不 要求回到被中断的任务y 1 2 j 。 不可抢占内核:不可抢占内核有如下两种情况。 ( 1 ) 内核服务函数不能被中断。系统在执行内核服务函数时处于关中断状态, 不能响应外部可屏蔽中断,这样就会在一定程度上延迟中断响应时间。 ( 2 ) 能被中断但是不能进行任务重新调度。系统在执行内核服务函数时可以 响应中断,不会延迟中断响应时间;但是在中断退出时不进行任务重新调度,即 使在中断服务程序执行过程中有更高优先级的任务就绪,也必须回到被中断的任 务将未完成的内核函数执行完后,才能让高优先级任务执行。 如图2 2 和图2 3 所示。 1 0 第二章嵌入式实时l i n u x 系统 低优先级任务 内核服务 i s r 高优先级任务 图2 - 2 不可抢占内核( 允许中断) 示意图 时间 低优先级任务 内核服务 i s r高优先级任务 斗 2 1 3 优先级可否反转 图2 - 3 可抢占内核示意图 对于可抢占内核,虽然它可以降低任务重新调度的延迟时间,但会产生优先 电子科技大学硕士学位论文 级反转( p r i o r i t yi n v e r s i o np r o b l e m ) 的特殊问题:低优先级的任务l 占用临界资源, 高优先级任务h 拥有执行权但又必须等待该临界资源,这样就导致低优先级的任 务反而优先执行。这时如果系统中不断有中等优先级任务出现,系统的任务调度 将变得不稳定并且难以预测【1 3 1 。 优先级反转问题可以采用优先级继承和优先级天花板两种方法来解决。优先 级继承( p r i o r i t yi n h e r i t a n c e ) 是当占有互斥信号量的任务的优先级低于请求获得该 信号量的任务的优先级时,占有互斥信号量的任务的优先级被提升到请求互斥信 号量的任务的优先级。优先级封顶( p r i o r i t yc e i l i n g ) 是将申请某资源的任务的优先级 提升到可能访问该资源的所有任务中最高优先级任务的优先级。 2 1 4 中断机制 中断通常是与当前进程执行无关的一些异步事件。中断产生时,c p u 响应中 断,并暂停当前进程的执行,转去为这些中断事件服务。由于大多数实时任务的 调度都是由中断引发的,所以嵌入式实时内核中的中断处理极其关键。 ( 1 ) 允许中断嵌套 在处理某一级中断的过程中,允许更高优先级的中断打断它。中断嵌套让更 紧急的中断优先得到服务。系统设计者可以指定外部中断的优先级,当c p u 响应 某一级别的中断源的中断请求时,关闭相同级别以及更低级别的中断源的中断, 但是对高优先级的中断开放。这样,级别低的中断处理程序就可以被级别高的中 断源所中断,从而形成中断的按级别“嵌套 。可以利用外部中断控制器来设置中 断的优先级,在中断处理程序的启动过程中,设置中断控制器( 比如8 2 5 9 ) 的中断屏 蔽寄存器的相应位,使得较低优先级的中断不能被响应;在离开中断处理程序时, 恢复屏蔽位。 ( 2 ) 缩小关中断时间 内核的关中断时间由内核服务函数对临界资源的操作而引入。为了保护临界 资源不被破坏,在临界区中需要暂时屏蔽中断。操作系统响应中断时一般都会采 用关中断的方式来保护当前中断服务执行不受新的外部中断干扰。事实上,对中 断请求做出的反应一般并不需要全都在关中断的条件下进行。另外,内核服务函 数对临界区的操作可能不连续,即临界区之间有非临界区的操作。对于内核中的 这种服务函数,可以合理地设置一些可抢占区域或可抢占点( 开放中断的地方) 减少 系统关中断时间【l 引。 1 2 第二章嵌入式实时l i n u x 系统 不同的内核在中断响应时间上的差异主要来自于内核的最大关中断时间,所 以,通过这些处理可以让内核具有较好的及时响应中断的能力。 2 1 5 存储管理机制 嵌入式实时操作系统一般都不采用虚拟存储技术,即不采用页面交换技术。 一方面嵌入式系统一般都不带磁盘,因而需要换出的页面无处可去。另一方面, 采用了页面交换技术就使程序的执行在时间上变得完全不可预测。 2 2 实时操作系统的性能指标 实时系统可以分为三类:前后台系统,不可抢占内核和可抢占内核。其中, 前后台系统的应用程序是一个无限的循环,循环中调用相应的函数完成相应的操 作,这部分可以看成后台行为。中断服务程序处理异步事件,这部分可以看成前 台行为。后台也叫做任务级,前台也叫做中断级。 实时内核在实时系统中起着重要的作用,其性能的好坏将直接影响到整个系 统的性能。各种量化的性能指标对评价一个嵌入式实时内核提供了客观的依据, 分为时间性能指标和存储开销。 其中,嵌入式实时内核的时间性能指标主要包括:中断延迟时间、中断响应 时间、中断恢复时间、内核最大关中断时间、任务上下文切换时间、任务响应时 间、系统调用的执行时间。以下是具体分析。 ( 1 ) 中断延迟时间 中断延迟时间是指从中断发生到系统获知中断,并且开始执行中断服务程序 所需要的最大滞后时间。由于中断是异步事件,故不能确定发生中断时的系统状 态是处于开中断还是关中断的状态。即便是在关中断状态下,也不能确定已经关 闭了多长时间,以及还将关闭多长时间。因此在确定中断延迟时间时,要使用最 坏情况下的关中断时间,即最大关中断时间。 中断延迟时间受系统关中断时间的影响。关中断的时间越长,中断延迟就越 长,并且可能引起中断丢失。 中断延迟时间可以由下面的表达式表示:中断延迟时间= 最大关中断时间+ 硬件开始处理中断到开始执行i s r 第一条指令之间的时间。 ( 2 ) 内核的最大关中断时间 如何使内核的最大关中断时间尽量地减小,是设计内核时在实时性方面需要 13 电子科技大学硕士学位论文 仔细考虑的问题。假设在一开始进入内核系统调用时就关闭中断,试图采取这种 粗放的方法来进行互斥,以达到对内核服务中的关键( 临界) 代码的保护,那么就会 造成比较长的关中断时间。 其实通过对内核代码的仔细分析,可以发现其中存在一些非关键( 临界) 的代码 段,在这些地方开中断,增加内核代码中的可抢占点,就可以大大缩短关中断时 间。 ( 3 ) 中断响应时间 中断响应时间是从中断发生到开始执行用户中断服务程序的第一条指令之间 的时间。中断延迟时间和中断响应时间之间是有区别的,前者指到中断服务程序 的第一条指令,后者指到用户的中断服务程序的第一条指令。对于前后台系统和 采用非抢占式调度内核的系统,保存c p u 上下文( 主要是其内部寄存器的内容) 以 后立即执行用户的中断服务子程序代码,其中断响应时间由下面的表达式给出: 中断响应时间= 中断延迟+ 保存c p u 内部寄存器的时间。 对于采用抢占式调度内核的系统,处理中断时先要做一些处理,确保中断返 回前调度程序能正常工作,即要先调用一个特定的函数( 内核中断服务程序入口函 数) 。该函数通知内核即将进行中断服务,使得内核可以跟踪中断的嵌套,以便在 解除中断嵌套后进行重调度。抢占式调度内核的中断响应时间由下面的表达式给 出:中断响应时间( 抢占式调度) = 中断延迟+ 保存c p u 内部寄存器的时间+ 内核 中断服务程序入口函数的执行时间。 ( 4 ) 中断恢复时间 中断恢复时间是用户中断服务程序结束后回到被中断代码之间的时间。在前 后台系统和采用非抢占式调度内核的系统中,中断恢复时间很简单,只包括恢复 c p u 上下文( 主要是其内部寄存器的内容) 的时间和执行中断返回指令的时间,由下 面的表达式给出( 在没有中断嵌套的情况下) :中断恢复时间= 恢复c p u 内部寄存 器的时间+ 执行中断返回指令的时间。 对于采用抢占式调度内核的系统,中断的恢复要复杂一些。通常在用户的中 断服务子程序的末尾要调用内核中断服务程序出口函数。该出口函数判断是否脱 离了所有的中断嵌套,如果脱离了嵌套,内核要判断是返回到原来被中断的任务, 还是进入另外一个优先级最高的就绪任务。在这两种情况下的中断恢复时间都可 由下面的表达式给出:中断恢复时间( 抢占式调度) = 内核中断服务程序出口函数执 行时间+ 恢复即将运行任务的c p u 内部寄存器的时间+ 执行中断返回指令的时 间。 1 4 第二章嵌入式实时l i n u x 系统 ( 5 ) 任务上下文切换时间 在多任务系统中,任务上下文切换指的是c p u 的控制权由正在运行的任务转 移到另一个就绪任务时所发生的事件:当前正在运行的任务转为就绪等待删除的 状态,另一个就绪任务转变成当前运行的任务。其中,任务上下文( c o n t e x t ,即当 前的状态) 是指c p u 寄存器中的全部内容。 因此,任务上下文切换时间包括保存当前正在运行的任务上下文的时间、选 择下一个任务的调度时间以及将要运行的任务的上下文恢复时间。 任务切换是在实时系统中频繁发生的动作,其时间的快慢直接影响到整个实 时系统的性能。 ( 6 ) 任务响应时间 任务响应时间是指从任务对应的中断产生到该任务真正开始运行这一过程所 花费的时间。任务响应时间又称调度延迟。调度延迟时间包括中断延迟和中断服 务程序、抢占延迟以及调度延迟等。 在实时系统中,任务在等待某些外部事件来激活它们。当一个中断发生时, 如果该中断对应着一个比当前运行任务优先级更高的任务,即该中断的服务程序 使这个高优先级任务就绪,则当前运行的任务必须迅速终止,使这个高优先级的( 实 时) 任务运行。 内核的调度算法是决定调度延迟的主要因素。在基于优先级的抢占式调度的 内核中,调度延迟是比较小的。因为这种内核是即时抢占的,一旦系统或任务状 态发生了变化,有任务抢占的要求时,内核的重调度过程就会被调用。有的内核 并不是随时都能发生抢占的,它们有一定的调度时刻,其调度延迟就较前一种内 核长。 还有一部分因素来源于锁机制的使用,因为保持锁( 如自旋锁) 期间抢占将失效 ( 即禁止抢占) ,造成抢占延迟。另外,调度延迟还受到关调度( 一种互斥手段,即 禁止任务调度1 的影响。值得一提的是,如果使用中断线程化技术和信号量替代 s p i n l o c k 锁机制,信号量会引起重新调度,则调度程序调用得更加频繁,造成的累 加延迟非常大。所以,调度造成的延迟时间很重要。 ( 7 ) 系统调用的执行时间 由于系统调用时的情境和参数的差别,每一个系统调用的每次执行,可能会 经历不同的路径,其执行时间不是一个定值,而是在一定范围内波动。 对某个系统调用而言,人们关心的是它的最大执行时间,所以在测试系统调 用执行时间时,应该根据可能的使用情况设计不同的测试用例,获取其最大值。 15 电子科技大学硕士学位论文 根据实时内核的确定性要求,在最坏情况下,系统调用的最大执行时间是可预测 的。 对于实时内核提供的系统调用来说,它们的执行还可能导致任务切换的发生, 因此在测试系统调用的时间时,还要考虑发生任务切换的情况。 ( 8 ) 存储开销 内核的数据空间通常又被称为内核的工作区,其大小包括固定的r a m 需求和 可变( 可配置) 的r a m 需求,取决于如下因素: 内核的系统变量需求( 固定) ; 内核对象的控制结构及相关空间需求( 可配置) ; 堆栈的空间需求,包括任务堆栈( 可配置) 、中断堆栈( 可配置) 。 在嵌入式应用中,系统存储空间的大小也很重要。基于成本和功耗的考虑, 配置的嵌入式存储器一般不大,而在这有限的空间内不仅要装载嵌入式实时操作 系统,还要装载用户程序。因此,在实时内核的设计和应用开发中,除了上述各 项时间性能指标,还要关注嵌入式实时内核的存储开销,这也是嵌入式实时操作 系统与其他操作系统的明显区别之一。 上述几项性能指标中,内核的中断响应时间和任务上下文切换时间是评价内 核实时性能最重要的两个技术指标。在这些时间性能指标中,有些可以直接测试 得到,例如中断延迟时间;而有些则必须通过对测试数据进行分析和处理得到, 例如任务上下文切换时间。 2 3l i n u x 系统实时性能的改进方法 l i n u x 下支持实时性的三个项目组目前正在开展:r t a i 项目

温馨提示

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

评论

0/150

提交评论