(计算机应用技术专业论文)基于linux的实时控制系统及实时调度算法的研究.pdf_第1页
(计算机应用技术专业论文)基于linux的实时控制系统及实时调度算法的研究.pdf_第2页
(计算机应用技术专业论文)基于linux的实时控制系统及实时调度算法的研究.pdf_第3页
(计算机应用技术专业论文)基于linux的实时控制系统及实时调度算法的研究.pdf_第4页
(计算机应用技术专业论文)基于linux的实时控制系统及实时调度算法的研究.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(计算机应用技术专业论文)基于linux的实时控制系统及实时调度算法的研究.pdf.pdf 免费下载

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

文档简介

圭堡盘兰塑鲎垡逢塞一 : 摘要 本文通过分析远程机器人控制系统的特点,即一个外部中断驱动的周期性的 迭代过程,着重研究基于l i n u x 的实时控制系统的开发与实现。该系统针对传统 机器人控制系统价格高、实时性差的问题,提出了一套高效低成本的方法,在操 作系统级改善了工业机器人控制的实时性,并且为推动工业机器人产业化的进程 提供了帮助。 文中首先分析了机器人控制器的软、硬体系结构以及要求操作系统在实时性 能上的支持,然后阐述了l i n u x 在实时性支持上的现状和弱点,分析了当前流行 的一些实时操作系统如q n x 、v x w o r k s 的特点和基本原理,以及当前基于l i n u x 的内核实时支持的相关主流技术,综合比较了各种解决方案的优缺点,在此基础 上,抽象出典型的以外部中断驱动的实时应用模型。我们分析了该模型在一次迭 代过程中,任务响应时间遭受系统延迟影响的主要因素,这些因素包括内核中为 了防止代码重入而屏蔽中断的机制、内核为了保护共享数据而设计的不可抢占模 型、内核中为了追求公平原则和吞吐量而设计的分时调度器和为运行更多程序而 设计的虚拟内存技术等。结合当前世界上的一些研究成果和思想,提出了对这些 问题的改造方案,并在l i n u x 操作系统中予以实现。在此基础上,为了验证改造 的有效性,我们制定了相应的测试方案。通过大量测试数据的比较,表明修改后 的内核无论在平均延时还是在最坏情况下都使任务响应时间得到了很大的提高, 为机器人实时控制系统提供了操作系统级的支持。 除了对系统的改造外我们还在理论上做了进一步的研究。在实时系统中 实时调度算法也是影响实时性能的关键因素。以往对实时调度算法的研究着重于 硬实时性的满足,本文基于具体应用的特殊性以及当前对实时调度研究的发展趋 势,对共存于同一系统中的周期性实时任务和非周期性任务的混合调度问题做进 一步的探讨,提出一种实时任务的层次调度算法,在一级调度上用e d f 保证实 时任务的底限不丢失,在二级调度上采用了动态规划和贪婪相结合的策略调度实 时任务的可选部分,保证了带宽的利用,克服了传统混合调度算法处理器利用率 受限制、系统开销较大和非周期部分响应时间长的问题。 本文的最后指出进一步研究的方向,如实时调度算法的具体实现、软中断模 拟技术的应用以及系统向嵌入式方向发展应解决的问题。 关键词:实时性、可抢占模型、设备驱动程序、中断服务程序、动态规划、最 早底线优先 1 i i a b s t r a c t t h em a i np u r p o s eo ft h i sp a p e ri st od e v e l o pa n di m p l e m e n tar e a l t i m ec o n t r o l s y s t e mb ya n a l y z i n g t h es p e c i f i cc h a r a c t e r i s t i c so f t h er e m o t er o b o tc o n t r o ls y s t e m ,a l l i t e r a t i v e p r o c e s s d r i v e n b y a l le x t e r n a l i n t e r r u p t a i m i n g a tt h e p r o b l e m o f c o n v e n t i o n a lr o b o tc o n t r o ls y s t e m sh i g hc o s ta n d p o o rr e a l * t i m ec h a r a c t e r i s t i c s ,as e t o fl o w c o s t a n d h i g h p e r f o r m a n c em e t h o d s ,w h i c hi m p r o v et h er e a l t i m eo fr o b o t c o n t r o l ,h a v eb e e np u tf o r w a r d t h e s em e t h o d sa l s og i v eh e l p st od r i v et h ep r o c e s so f i n d u s t r i a l i z a t i o n f i r s tt h ep a p e ra n a l y z e st h eh a r d w a r ea n ds o f t w a r ea r c h i t e c t u r eo ft h er o b o t c o n t r o l l e ra n dt h er e a l t i m ec h a r a c t e r i s t i c st h a tn e e d s u p p o r t f r o mt h e o p e r a t i n g s y s t e m t h e n ,i n t h ep a p e rw ed e s c r i b et h e a c t u a l i t y a n dw e a k n e s so fl i n u xi n r e a l t i m ep e r f o r m a n c ea n da n a l y z et h ec h a r a c t e r i s t i c sa n df i m d a m e n t a l so fc u r r e n t p o p u l a rr e a l t i m eo p e r a t i n gs y s t e m s ,s u c ha sq n x ,v x w o r k se t c ,a sw e l la ss o m e m a i n s t r e a mt e c l m o l o g i e sc o n c e r n e dt h a tc a ni m p r o v et h er e a l t i m ep e r f o r m a n c eo f l i n u xk e r n e l ,a n dc o m p a r et h ea d v a n t a g e sa n dd i s a d v a n t a g e so fv a r i o u ss o l u t i o n s b a s e do nt h er e s e a r c h ,w ea b s t r a c tt h et y p i c a lr e a l t i m ea p p l i c a t i o nm o d e ld r i v e nb y e x t e r n a l i n t e r r u p t s ,a n da n a l y z et h em a i nf a c t o r st h a ta f f e c tt h ep r o c e s sr e s p o n s e l a t e n c yd u r i n g o n ei t e r a t i v e p r o c e s s s u c ha st h e i n t e r r u p t o f fm e c h a n i s m ,t h e n o n p r e e m p t i o nm o d e l ,t h et i m e s h a r i n ga n dt h r o u g h p u t o r i e n t e ds c h e d u l e ra n dt h e v i r t u a lm e m o r y t e c h n o l o g yo f l i n u x k e r n e le t c b a s e do ns o m ec u r r e n tr e s e a r c h e s ,w e m a k ei m p r o v e m e n to nt h e s ep r o b l e m sa n di m p l e m e n ti tu n d e rl i n u x i no r d e rt o v e r i f yt h ev a l i d i t yo ft h ei m p r o v e m e n t ,w ew o r ko u tat e s ts c h e m ef o ro u rs y s t e m ,b y c o m p a r i n gt h ed a t af r o mt h ei m p r o v e ds y s t e ma n do r i g i n a ls y s t e m ,w ef i n dt h a ti n b o t ht h ea v e r a g ea n dt h ew o r s tc a s et h ep r o c e s s r e s p o n s el a t e n c yh a sb e e ni m p r o v e d d r a m a t i c a l l y , p r o v i d i n gs u p p o r tt o t h er o b o tr e a l t i m ec o n t r o l s y s t e ma to p e r a t i n g s y s t e m l e v e l b e s i d e st h ei m p r o v e m e n to ft h es y s t e m ,w em a k ef u r t h e rt h e o r e t i c a lr e s e a r c h i n ar e a l - t i m es y s t e m ,t h er e a l t i m es c h e d u l i n ga l g o r i t h mi sa k e y f a c t o ri np e r f o r m a n c e i n p r e v i o u sw o r k ,m o s t r e s e a r c h e sl a i ds t r e s so n s a t i s f y i n g t h eh a r dr e a l - t i m e p e r f o r m a n c e h o w e v e r , b a s e do nt h ef l e x i b i l i t ya n dc u r r e n td e v e l o p m e n to fr e a l t i m e a p p l i c a t i o n s ,ah i e r a r c h i c a ls c h e d u l i n ga l g o r i t h mo fr e a l - t i m et a s k si sp r o v i d e d t h e a l g o r i t h mg u a r a n t e e st h a tt h ed e a d l i n e so f r e a l t i m et a s k sw i l ln o tb em i s s e d b yu s i n g e d f s t r a t e g yo nt h ef i r s tl e v e la n dm a k e sg o o du s eo fb a n d w i d t hb ya p p l y i n gt h e d y n a m i cp r o g r a m m i n g a n d g r e e d ys t r a t e g y t ot h e s c h e d u l i n g o ft h e o p t i o n a l t v 上洛太学硕士学位论文 c o m p o n e n t so fr e a l t i m e t a s k so nt h es e c o n dl e v e l t h ea l g o r i t h mo v e r c o m e st h e d i f f i c u l t i e so ft h et r a d i t i o n a lh y b r i ds c h e d u l i n ga l g o r i t h m ss u c ha st h er e s t r i c t i o no f p r o c e s s o ru t i l i z a t i o n ,t h eh i g hs y s t e m o v e r h e a da n dt h el o n gr e s p o n s i v et i m e a tl a s t ,s o m ef u t u r ew o r ki sp u tf o r w a r d ,w h i c hi n c l u d e sh o w t oi m p l e m e n tt h e r e a l t i m es c h e d u l i n ga l g o r i t h m ,a p p t yt h es o f t w a r ei n t e r r u p ts i m u l a t i o nt e c h n o l o g yt o m a n a g i n g h a r di n t e r r u p t ,a n dc o n s t r u c te m b e d d e dr o b o tc o n t r o ls y s t e me t c k e y w o r d s :r e a l - t i m e ,p r e e m p t i o n m o d e l ,d e v i c ed r i v e r , d y n a m i cp r o g r a m m i n g , i n t e r r u p ts e r v i c er o u t i n e ,e a r l i e s t d e a d l i n ef i r s t v 上洛大学硕士学位论文 第一章前言 1 1课题来源和研究背景 2 0 0 1 年1 0 月,上海大学计算机学院向上海市科委申请并确立了“基于i n t e r n e t 的智能控制技术的研究与应用”科研项目。实现机器人的智能化是人们梦寐以求 的理想。随着技术的成熟,机器人将越来越多的代替人,人将从相对较低层次的 干预中解放出来,仅进行高层的干预。在机器智能化的过程中,人机交互也随之 智能化。随着互连网技术的飞速发展,实现基于i n t e m e t 的智能控制设备将适应 分布的、远程的工作环境的需要( 包括恶劣的、人不能接近的环境) 。具有远程控 制能力的机器与一般机器相比,应该具有更强大的实时控制功能。 目前,我们已基本完成了基于l i n u x 平台上的三轴多功能位置卡及i o 卡的 驱动程序的开发和远程监控软件的开发,已可基本实现远程机器人及简单环境在 本地计算机上的重现,及对远程机器人的动作进行初步规划、仿真。下一步的目 标是在完善上述成果的基础上通过修改操作系统内核,开发出能满足更高性能机 器人控制所要求的实时性,并融合机器人控制模块的系统。 1 2 国内外研究情况 1 2 1r e a l - t i m er o b o tc o n t r o ie n v i r o n m e n t 美国密西根大学机器人技术和自动控制实验室设计出了用于p u m p5 0 0 控制 器的图形接口,该接口运行于实时操作系统o n x 上。用户可以用控制杆或鼠标控 制机器人的运动,端点受动器的位置和方向,机器人关节的角度和控制器参数都 能通过数据或轨迹图的形式实时的返回给用户,用户还可以在线改变控制器的参 数。如图1 1 所示。 图1 1 r e a l t i m er o b o tc o n t r o le n v i r o n m e n t 一 圭盘盘堂塑堂堡垒圭 1 2 2q m o t o r2 0 一一个基于p c 机的实时多任务图形控制环 境 美国克雷姆森大学电子计算机工程系设计了一种基于p c 系统的实时控制环 境。使用装有i n t e l 奔腾芯片的p c 机和像q n x 这样的实时操作系统,该控制系 统能在运行类似用户界面、网络监控等进程的同时保证实时任务有确定的响应性 能。q n x 是一个基于实时微内核的操作系统,它将硬件中断按优先级排序,而 用于调度控制程序执行的硬件时钟的优先级较其它中断高。另外,q n x 的进程 切换时间非常快,中断延迟也比较小。在该操作系统的基础上,克雷姆森大学开 发了一个用户界面友好,用于实现控制算法的灵活、健壮的环境。该系统支持复 杂的控制算法的实现,控制参数的实时调节,控制数据日志,实时绘制曲线图以 及控后数据的限制处理等功能。 图1 2 q m o t o r2 0 上海大学硕士学位论文 1 2 3 国内研究情况 中国科学院软件研究所工业管理与设计工程研究中心正承接国家自然科学 基金( 重大) 项目课题“实时系统开发方法与算法研究”,主要研究实时系统的 开发方法和核心算法。它的研究重点是: 1 实时系统框架和开发方法研究 2 实时核心结构功能分析与选择 3 实时调度算法研究与实现 4 实时驱动开发方法研究 5 文件快速存储和检索机制 6 实时智能技术研究 7 实时人机交互技术研究 8 实时系统集成 1 3 我们的研究方向 在实时控制中,系统的正确性不仅仅依赖于程序的逻辑结果而且依赖于结果 产生的时间。从这个角度上看,实时系统是一个能够在指定或者确定的时间内完 成系统功能和对外部环境的输入作出响应,而作为实时操作系统,必须创建、维 护和支持实时应用能够执行的实时运行环境。 对于工业控制中的机器人而言,实时性同样是一个不可避免的问题。结合课 题的实际情况,我们认为首先必须从机器人控制器底层核心开始研究,进行实时 性改造。在过去的研究中,由于主要着重通用性,同时对控制系统的动作及速度 的要求并不是特别高,对通用平台稍作修改即可,因此我们没有采用实时操作系 统,但现在随着环境的变化,动作的速度及复杂性的提高,特别是如何保证远程 控制中的安全性要求系统必须在很短的时间中作出迅速反应,所以我们将研究如 何从操作系统级提高机器人控制系统的实时性。 上洛太擘硕士学位论文 第二章机器人控制器的体系结构 2 1机器人控制器的硬件体系结构 该控制系统的硬件组成为: 1 l e o 出品的与m m p c 兼容的p e n t i u m h l 6 0 0 m h z 工业控制微机( i p c ) ,内 存1 2 8 m ; 2 1 块研华出品的三轴多功能位置卡p c l 8 3 2 ( 其中每一块卡控制3 个轴) ; 3 1 块研华出品的带光电隔离的i o 卡p c l 7 3 0 : 4 基于8 0 5 l 单片机的示教器,包括键盘、液晶屏、串行通信线等附件; 5 1 0 m 1 0 0 m 网卡、集线器等以太网连接设备; 6 机器人本体为日产的p t 5 0 0 机器人。 图2 1 远程机器人监控系统硬件组成 工业控制微机i p c ( i n d u s t r i a lp e r s o n a lc o m p u t e r ) 泛指i s a 、p c i 等p c 总线 型工业控制个人计算机。 p c l 8 3 2 三轴多功能位置控制卡能对三轴进行联动插补控制。每轴有专用位 置芯片控制及速度反馈控制系统,构成一个伺服位置和速度环。该卡具备三轴独 立伺服控制、三轴线性插补控制、二轴圆弧插补控制、d d a 周期可调、端口可 编程等功能。为了使多轴伺服控制系统达到同步,机器人所有的轴必须在t l 时 刻同时开始发出位置脉冲,在t 2 时刻同时停止。t 2 t t 这段时间间隔被定义为 d d a ( d i g i t a ld i f f e r e n t i a la n a l y s i s ) 周期。p c l 8 3 2 位置卡以插补时间为周期连续 发出中断,请求驱动程序在缓冲区中放置下一周期输出的脉冲数。连续的脉冲序 4 上海大学硕士学位论文 列输出给伺服电机驱动器以得到光滑的位置响应。位置卡采用位置和速度双闭环 控制系统来保证机器人运动平稳和定位准确。如果位置误差反馈计数超过闽值, 说明机器人驱动或码盘测量有问题。位置卡发出溢出o v 中断报警,系统必须中 断其它工作,迅速响应该中断。 p t 一5 0 0 机器人是一个五自由度的机器人,也就是有五根轴。每一块p c l 8 3 2 三轴多功能位置卡,可以控制三根轴,要控制这五根轴,我们用了两块p c l 一8 3 2 三轴多功能位置控制卡:设置一主卡,另一为从卡;主卡和从卡使用相同的 中断请求号( i r q ) ,不同的i o 基地址。实际应用中设置d d a 中断i r q = 5 ,o v 中断i r q = 3 ,主卡的i o 基地址为0 x 2 4 0 ,从卡的i o 基地址为0 x 2 2 0 。 光电隔离能有效防止外界干扰窜入远程机器人监控系统, 从而保证远程机 器人监控系统的正常工作。带光电隔离的输入输出卡被用来采集开关量输入信号 和控制开关量输出信号,该卡也插入i p c 的i s a 扩展槽中,提供i o 端口资源。 2 2 机器人控制器的软件体系结构 机器人的性能很大程度上决定于控制系统,传统机器人控制系统以实现内部 控制为主要目的,对外通信能力较弱,一般采用r s 2 3 2 与外部设备进行数据交换, 缺乏与外界进行信息高速交换的能力,缺乏与外界设备间进行协同工作的能力, 很难实现对机器人的远程控制。传统机器人控制系统的不足,在很大程度上是由 于网络通信能力的不足而造成的。我们所研制的机器人控制系统正是通过引入了 网络通信技术,使整个系统的功能得到了加强。整个系统由机器人控制器( 包括 在线示教、机器人程序解释器和基本指令执行等功能模块) 、远程监控子系统两 个部分组成,并通过高速以太网连接起来。 远程机器人控制系统按层次和功能分为以下模块,它们之间的关系如图2 2 所示。 图2 , 2 远程机器人监控系统体系图 下面我将对远程机器人控制器的软件模块及其各自的功能进行详细介绍: 1 设备驱动程序 这是唯一能够直接访问硬件的模块,也是嵌入操作系统核心的底层软件。设 备驱动程序能够享受到平台所能达到的最高实时性能。三轴位置卡以毫秒级发出 d d a 中断请求,这是控制器的关键指标。只有使用设备驱动程序才能达到这个指 标。 设备驱动程序是整个控制器软件的关键,远程机器人监控性能的优劣在很大 程度上依赖于设备驱动程序的好坏。因此设备驱动程序模块是课题组开发的重 点。驱动程序涉及到操作系统的核心机制:包括中断处理、设备i o 访问、信号 上海夫学硕士学位论文 量机制以及线程调度等。 通常可以从两个级别的意义上来认识l i n u x 系统中的设备驱动程序:从低级 意义上来说,它直接存取系统的硬件;从高级意义上来看,它在最高优先级上运 行。应用程序已失去处理中断和读写端口的能力。本课题开发的支持三轴多功能 位置卡( p c l 一8 3 2 ) 及外围y o 卡的设备驱动程序必须处理以下事务: 1 ) 响应位置卡插补周期中断,输出位置脉冲数值: 2 ) 响应位置卡误差溢出中断,提醒应用程序注意: 3 ) 为应用程序提供服务,如读写y o 端口,设置参数、读取状态等。 2 基本指令算法 回原点、直线、圆弧、圆弧过渡等运动指令是机器人程序的基本组成元素, 用户还可以根据需要利用设备的i o 访问设计新指令。该模块将空间坐标转换为 关节坐标,根据算法将整个运动过程分解为一系列插补过程,调用设备的i o 访问完成脉冲输出。指令实现作为分离的线程运行,以便出现故障时可由主控模 块恢复。 3 机器人程序解释器 机器人程序包含一系列运动指令。该模块扫描、解释机器人程序文本,激活 指令线程。 4 状态监视 该模块通过信号量同步机制监视机器人本体运行状态;检测位置卡和y o 卡 的回馈端口,以便用户及时了解硬件的工作情况;同时有自动生成事件日志功能, 自动地反馈控制器硬件的错误信息,读取相应的硬件错误信息。 5 在线示教 该模块在线驱动机器人关节运动,将位置变化与指令记录为机器人程序文 本。在线示教与再现是对柔性制造业的支持。由于在线示教的逻辑比较简单,主 控模块根据界面交互直接调用它。实际作业环境中 p c 离机器人本体的距离一般 比较大,直接在 p c 面前通过键盘和鼠标示教比较困难,因此特别设计了用于现 场作业的手执示教器。 6 网络通信 该模块将i p c 设景成服务器的角色,等待网络客户的连接并向客户发送控制 器运行的状态信息。这里尤其要着重指出的是:虽然服务器端使用的是l i n u x 平台,但只要客户端使用的是基于s o c k e t 通讯机制,可以使用任意操作系统。 从而真正地实现跨平台控制。简化了编程,提高了软件系统的系统扩展性。 7 远程监控子系统 要实现远程控制必须具有良好的可靠性。可利用软件和硬件的w a t c h d o g 进 行监控。远程的客户发出机器人指令通过高速以太网发送给本地的遥操作系统, 该指令由本地的控制系统解释执行,并将执行情况( 机器人运行状态) 返回给客 圭盘盘堂亟堂焦逢圭 户。在服务器与客户机程序的相互通讯中双方都遵循传输协议,在接收对方的数 据时都要进行相应的指令解析。 2 3 机器人控制器的实时性要求 机器人控制程序由两部分构成:位于用户态的各个用户进程,完成界面显示、 机器人指令解释、状态监视、网络传输等功能和位于操作系统核心态的设备驱动 程序。由于设备驱动程序每个d d a 周期都要响应硬件发出的中断,中断处理程 序将驱动程序对应于各个轴的缓冲队列中的用户请求脉冲通过i o 端口写入 p c l - 8 3 2 卡对应的端口,并与用户进程交换数据,准备下一个d d a 周期要发送 的脉冲序列并报告机器人的当前状态。因此,该机器人控制程序是一个典型的靠 外部中断驱动的实时应用,在一个周期内,不仅要完成与硬件驱动卡交换数据的 功能,还要实现用户层中各个进程的任务。 过去的机器人控制器系统经历了w i n d o w s9 5 ,w i n d o w sn t ,l i n u x 三个操 作系统平台的演化和发展,控制器逐步解决了用户界面、多线程控制等关键问题, 但是由于操作系统本身是多任务分时操作系统,不能从根本上解决一直困扰我们 的实时性问题,因此也就影响了机器人的高速度运行。所以有必要选择一种实时 操作系统来改善实时性能,进行更为深入的研究。 对工业机器人控制来说,实时性是一个相当重要的内容,尤其是在远程机器 人控制中,如果不能很好的满足系统所需的实时性要求,就失去了研究的基础和 意义。结合课题的实际情况,我们认为首先必须从机器人控制器底层核心开始研 究,进行实时性改造。对于实时系统来说最根本的要求就是操作系统必须满足实 时性要求,即在一个事先定义好的时间限制中对外部或内部的事件进行响应和处 理。因此,要提高机器人控制器的实时性能,必须研究和改善操作系统的实时性 能,从操作系统级提高机器人控制系统的实时性。 一个实时操作系统的功能通常包括基本功能及扩充功能两个部分。基本功能 是指任务调度和任务间通讯。扩充功能包括虚拟存储管理( v m ) 、文件管理、 设备管理及y o 、中断管理、错误检测、安全机制和时钟管理。我们不必刻意的 寻求和开发面面俱到的实时操作系统,可以根据应用各取所需。比如对于远程机 器人控制系统而言,中断响应处理和任务响应时间是我们最关心的,因此,我们 将主要针对这两点进行比较深入的研究。 圭堡盘堂亟鲎垡逢塞 第三章基于l i n u x 的实时操作系统的现状 3 1l i n u x 的体系结构 l i n u x 是全面的多任务和真正的3 2 位开放式操作系统,其网络功能强大, 且源代码完全公开。该系统有可扩充性、可移植性、可靠性高和兼容性好等优点 因此,课题组决定采用l i n u x 作为软件开发平台。 用户进程 用户层 1 程序库 l 内棱屡 。j 系统调用接口 i : ;进程问通佰; 文件予系镜 k , 弱l 调度器 于系统 l 1 羯络子系统i ; 内存量理 l 缓冲区l il 1 i 块设鲁i 宇符设鲁 设备驱动程序 i 硬件控制 内核层i 硬件屡l 硬件 图3 1l i n u x 体系结构 用户空间和内核空间: 为了防止用户应用程序对未经授权的资源进行访问和更改,c p u 内部实现 了不同的操作级。不同的级有不同的作用,而且某些操作不允许在最低级中使用。 程序代码仅能通过有限数目的“门”从一个级切换到另一个级。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 已逐渐成为世界上使用最广泛的操作系统之一。从网络服务器、桌面 p c 到各种嵌入式设备,到处可见它的存在。由于良好的可移植性,它同时具有 若干种硬件平台上的运行版本,目前的内核支持i n t e l x 8 6 、s t r o n g a r m 、p o w e r p c 、 a l p h a 、s p a r c 等处理器体系结构。 l i n u x 是全面的多任务和真正的3 2 位操作系统。l i n u x 采用x f f e e 8 6 的x w i n d o w 系统,xw i n d o w 系统是功能强大的图形界面,支持多种应用程序。l i n u x 支持t c p i p 协议,可以通过以太网和邮局网连接到i n t e m e t 。l i n u x 可以利用硬 盘的一部分作为虚拟内存,利用共享库技术节约大量的系统空间。l i n u x 支持商 业版的u n i x 系统的全部功能。l i n u x 支持大部分g n u 计划下的自由软件,包 括g n uc 和g c c 编译器等。l i n u x 注重可移植性,它符合i e e ep o s 1 标准。 相比u n i x ,l i n u x 比u n i x 系统便宜多了,甚至不必花钱。l i n u x 支持多种硬件 平台,而且它的内核中紧密集成了网络功能和大量的网络应用程序,在超强网络 需求下其健壮性相当好。 1 0 上海大学硕士学位论文 3 2l i n u x 在实时性上的弱点 l i n u x 虽然具备很多利于工业机器人控制器开发的优点,但是它毕竟是一个 分时操作系统,它的设计目标并不是为了满足工业控制的要求的,所以在实时性 上有着同w i n d o w s 相类似的欠缺,充其量只能采用设置实时进程、提高进程优 先级等方法来实现软实时。主要的原因来自于l i n u x 的分时调度、核心不可抢占、 核心态时禁止中断以及它的虚拟内存机制。 l i n u x 本身对实时的支持情况如下: p o s i x 实时扩展部分逐渐被添加进来,如p o s i x 1 0 0 3 1 b ,引入了实时进程 的概念,允许将一个进程的属性确定为实时进程。l i n u x 区分实时进程和普通进 程,采用不同的调度策略。 对实时进程,l i n u x 提供两种简单的调度策略,即先来先服务调度 ( s c h e d _ f i f o ) 和时间片轮转调度( s c h e d _ r r ) 。在s c h e d _ r r 调度中,任务一 旦时间片用完就被移动到优先级队列的队尾,并允许同一优先级的其他任务运 行。如果同一优先级没有其他任务,该任务将继续运行下一个时间片。 s c h e df i f o 是运行直至阻塞的策略。s c h e df i f o 任务按优先级调度,一旦 开始就一直运行到结束或者阻塞在某种资源上。它们不像s c h e dr r 任务那样 共享处理器。 对普通进程,l i n u x 采用类u n i x 的动态优先级调度。传统的u n i x 操作系统 属于分时系统,以高的吞吐量和公平性为追求目标,基本没有考虑实时应用所应 满足的时间约束。l i n u x 作为一种类u n i x 操作系统,也继承了u n i x 的很多不适 合实时应用的特点: 1 ) l i n u x 下分用户态和核心态两种模式,当进程运行在用户态时,可被优 先级更高的进程抢占,但当它进入核心态时( 比如通过系统调用1 ,则其 它用户态进程优先级再高( 包括实时进程) 也不能抢占它。根本原因是 l i n u x 内核本身是不可抢占的。 2 ) l i n u x 内核采用关中断的方式来保证内核不被重入,从而保护某些共享 数据,但内核关闭中断会使中断响应时间被大大延迟,这对于依靠外部 中断驱动的实时任务是很不利的。 3 ) l i n u x 采用了虚拟内存管理技术,进程运行所需的内存常常会被换入换 出硬盘,会非常耗时。实时应用有时需要把关键进程锁在内存中,不被 换出。 4 ) l i n u x 对实时调度算法的支持不够完善。 5 ) 优先级反转的现象使高优先级的实时进程可被低优先级的阻塞。 由于l i n u x 是一个自由软件,所以不像w i n d o w s 、u n i x 那样具备详尽的文 上洛大学硕士学位论文 档,没有一个很好的技术支持体系。但是随着越来越多的人和商业软件的开发商 的加入,情况有了很好的改善,这些问题显得不那么严重了。对于机器人控制来 说,l i n u x 的分时特性使得l i n u x 具备了一个自身无法克服的问题实时性保 证。机器人控制的一个关键问题是解决实时眭。 不过就总体而言,l i n u x 能够为我们带来的好处太多了,它的强大功能和稳 定性是我们所需要的,它的免费特性又可以降低开发成本。所以这就使得我们努 力地寻求一种能够基于l i n u x 又可以改善其实时性的解决方法。 3 3 几种实时操作系统和l ir l t l x 内核实时支持的主流技术 3 3 1几种流行的实时操作系统 自从8 0 年代以来,各类实时操作系统就不断地涌现,尤其是随着嵌入式应 用的发展,实时嵌入式操作系统更是发展迅速。比较著名的实时操作系统有 t o r n a d o v x w o r k s 、q n x 、l y n x o s 、n u c l e u sp l u s 、o s 一9 系统等。 v x w o r k s 操作系统是一种功能最全的独立于处理器的实时系统。它的开发平 台可以是w i n d o w sn t ,s u ns o l a r i s ,s u n o s ,h p u x ,w i n 9 5 。v x w o r k s 带有 一个相当小的真正的高效的微内核。微内核支持实时系统的一系列特征包括多任 务,中断支持,任务抢占式调度和循环调度。微内核设计使v x w o r k s 缩减了系统 开销并加速了对外部事件的反应,内核的运行非常的快速和准确。但是v x w o r k s 需要取得o e m 许可证,定价为1 5 0 0 0 美元。这个费用对于产业化来说是不可行的。 p s o s y s t e m 的开发平台可以是w i n d o w sn t ,s u ns o l a r i s ,s u n o s ,h p u x , r s s 0 0 0 。p s o s y s t e m 推出时间较早,是比较成熟的嵌入式实时操作系统,销售额 曾经位居实时操作系统领域世界第一的位置。p s o s y s t e m 的主要缺点在于其上下 文切换时间长,实时性不强,采用的集成开发环境s n i f f + 与产品兼容性不好, 部分关键功能无法使用。目前p s o s y s t e m 的市场售价在第一次购买时大约在1 6 2 2 万人民币左右,以后每l i c e n s e 收费在6 9 万之间。 o n x 是一个分布式、嵌入式、可规模扩展的实时操作系统。它遵循p o s i x 1 ( 程序接口) 和p o s i x 2 ( s h e l l 和工具) 、部分遵循p o s i x 1 b ( 实时扩展) 。q n x 是 唯一可以将实时p o s i x 环境外加一个完全的窗口系统安装在lm 以下的闪存或只 读存储器上的操作系统。q n x 是一个微内核实时操作系统,其核心仅提供4 种服 务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空 间运行。q n x 在图形界面方面也做得比较出色,所以用q n x 来设计机顶盒、掌上 电脑和手机是比较合适的。但是它的价格仍然是昂贵的。 这些实时操作系统一般价格昂贵且互不兼容。作为以出卖软件使用许可证为 上洛大学硕士学位论文 盈利目的的商业实时操作系统,它们通常严守技术秘密,这同时也限制了它们的 发展,与之相反,g p l 协议下的l i n u x 及其相关项目的开放源码特征为我们在前 人基础上顺利进行更深入的研究提供了可行性。目前,引起广泛关注且具代表性 的l i f l u x 内核实时支持研究项目有:r t l if l u x 、r t a i 、r e d l i n u x 、k u r t 。它们 各有其独到之处及鲜明的技术特征。 3 3 2当前l i n u x 内核实时支持的相关主流技术 3 3 2 1r t - l n u x r t l i f l u x 将l i n u x 内核设计为可被抢占的,主要方法是实现一个实时内核 负责处理硬件消息,实时任务可在该内核上直接运行,把l i n u x 内核本身作为优 先级最低的i d l et a s k 运行,l i n u x 内核随时可以被优先级更高的实时任务抢占。 实时任务与l i n u x 进程之间通过特定的通信机制( 如f i f o 管道) 进行通信,运行 在l i n u x 内核之上的进程则可以完成一些非实时功能。 图3 2r t l i n u x 的体系结构 为了解决l i f l u x 长时间关中断的问题,r t l i n u x 在硬件中断控制器和l i n u x 核心之间用一层软中断模拟器进行隔离,l i n u x 核心代码中的中断处理指令有关 中断e l i 、开中断s t i 和中断返回i r e t ,被分别替换为汇编宏代码sc l i ,ss t i , s i r e t 。所有的硬件中断都被中断模拟器接收,当使用了s _ c l i 宏时,即实时内 核禁止中断时,仿真器中的一个标志位被置0 。当有其它非实时中断产生时,仿 真器检查那个标志位,如果为0 ,说明不允许中断,否则可以立即执行l i n u x 中 断处理程序。简而言之,l i n u x 不能中断自身,但是r t l i n u x 可以中断l i n u x , 这也就达到了所谓的“r t l i n u x 的核心可抢占机制”。r t l i n u x 提供实时a p i r e q u e s t r t i r q 0 和f r e e r t i r q 0 为指定的i r q 安装i p 载实时中断处理函数, 上海大学硕士学位论文 当实时中断发生时,不论软中断标志为何值,中断处理函数立即被调用,因此可 以保证实时中断不被阻塞并有最小的中断延迟时间。 r t - l i n u x 开创了l i n u x 硬实时支持的先河,其对硬件中断接管的方法对我 们有借鉴意义,但是,r t l i n u x 也有其缺点:首先,r t l i n u x 将一个实时应用明 确分为实时部分和非实时部分,将它们分别以r t l i n u x 实时进程和l i n u x 非实时 进程实现,但是它们之间的通信机制( 如r t _ f i f o ) 却没有实时性的支持;其次, r t l i n u x 要求实时部分完成的功能非常的少,应尽量的简单,而把大量的工作交 给l i n u x 的非实时进程完成,绝大部分l i n u x 内核中的系统调用都不能在实时部 分使用,因此,r t l i n u x 的实时部分无法利用l i n u x 内核强大的功能,且大量的 实时任务会使l i n u x 进程长期处于饥饿状态;再次,正因为如此,r t l i n u x 设计 了大量实时模式下的“r t 安全的”a p i 供实时部分调用,因此,r t l i n u x 实际上 是两个操作系统的结合,虽然提供了实时性服务,但它对内核源

温馨提示

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

评论

0/150

提交评论