




已阅读5页,还剩54页未读, 继续免费阅读
(机械制造及其自动化专业论文)基于linux的实时操作系统的开发与应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 中文摘要 本文密切结合开发新一代高性能数控系统的需求,研究实时l i n u x 操作系统 开发的键技术,内容涉及计算机软、硬件技术、伺服控制技术等,论文取得了 如_ f 主要成果 口针对l i n u x 关闭中断造成延时的问题,系统采用仿真宏代替l i n u x 内核 使用的s t i ,c l i ,i r e t 等机器指令,使得实时内核捕获中断,禁止了l i n u x 内核关硬件中断的操作。在实时中断响应中取消了l i n u x 中断管理的 “下半部”的中断响应方式,避免了中断响应在“下半部”被其它进 程或中断打断而造成不可预测的延时。 口 采用可加载模块技术将实时任务加载到同一地址,解决了频繁任务切 换导致的延时问题;在进程调度方面,设计了用户可编程的任务调度 器实现了任务调度:采用f i f o 缓冲区技术解决普通l i n u x 进程、l i n u x 内核进程和实时进程间的信息交换;采用终端计数中断方式实现时钟 定时。 口 提出了实时l i n u x 应用软件的总体结构,将实时、非实时任务分开管理, 并开发了实时进程的创建与撤销、进程调度器的用户定制、实时f i f o 操作、定时时钟和硬中断软中断管理等a p i 接口,为操作系统的使用 奠定了初步基础。 在本文所开发操作系统在所搭建的实验平台得到初步试验,系统运行正常 基本上达到设计要求。 关键词:l i n u x 操作系统实时数控系统驱动程序 一;:;!,j!:。,。:;:;。:;一 日z _ _ _ l z z = ;= = # = i 口= ;# z _ _ _ _ _ 口= # = 口= e z ;= j ,_ _ _ _ _ i = = ,i e t = e i ,_ _ _ _ i t = = 口a 口;。一 a b s t r a c t c o n s i d e r i n gt h er e q u i r e m e n to fu p d a t en u m e r i c a lc o n t r o ls y s t e mw i t hg r e a t c a p a b i l i t i e s ,t h i sp a p e re m p h a s i z e so nd e v e l o p i n gt h ek e yt e c h n o l o g yo fr e a l t i m e l i n u xo p e r a t i n gs y s t e m t h i sp a p e r , w h i c hc o n c e r n ss o f t w a r et e c h n o l o g y , h a r d w a r e t e c h n o l o g y , s e r v o c o n t r o lt e c h n o l o g y , e t c ,h a ss o l v e d t h ef o l l o w i n g p r o b l e m s : 口t os o l v et h ed e l a yr e s u l t e df r o mt h ec l o s ei n t e r r u p t i o n t h es y s t e mr e p l a c e s t h ec o r r e s p o n d i n gi n s t r u c t i o n si nt h el i n u xk e m e l ,s u c ha ss i t ,c l i i r e ta n d s oo n ,w i t ht h ev i r t u a lm a c r o ,a n dt h e nt h er e a l t i m ek e m e lc a p t u r e st h e i n t e r r u p t i o nt o f o r b i dt h eo p e r a t i o no ft h eh a r dc l o s ei n t e r r u p t i o ni nt h e l i n u xk e r n e l d u r i n gt h er e a l - t i m ei n t e r r u p t i o nr e s p o n s e t h e b o t t o mh a l f r e s p o n s ei se l i m i n a t e dt oa v o i dt h eu n p r e d i c t a b l ed e l a yr e s u l t e df r o mt h i s k i n do f r e s p o n s e 口t h e d e l a yr e s u l t e df r o m t h ef r e q u e n ts w i t c h e so ft h em i s s i o n si se l i m i n a t e d b ya d o p t i n gl o a d a b l em o d u l et ol o a dt h er c a l t i m em i s s i o ni nt ot h es a m e a d d r e s s ;t h ep r o g r a m m a b l em i s s i o nt r a n s f e ri sp r o v i d e d ;t h ei n f o r m a t i o n e x c h a n g ea m o n gt h ec o m m o nl i n u xp r o c e s s ,l i n u xk e m e lp r o c e s s a n d r e a l t i m ep r o c e s si sr e a l i z e db yt h ef i f 0 :t h et i m i n gf u n c t i o ni so b t a i n e db y i n t e r r u p t o n - t e r m i n a l c o u n t 口t h e g e n e m l s t r u c t u r eo ft h er e a l t i m el i n u x o p e r a t i n gs y s t e m i s p r o p o s e d m a n a g e m e n t so f r e a l t i m em i s s i o n sa n dn o n r e a l t i m em i s s i o n s a r c d i v i d e d ;t h ee s t a b l i s h m e n ta n dr e p e a l o ft h er e a l t i m e p r o c e s s t h e p r o g r a m m a b l ep r o c e s st r a n s f e r ,t h er e a l - t i m ef i f 0o p e r a t i o n ,t h et i m i n g c l o c ka n da p ii n t e r f a c e so fh a r di n t e r r u p t i o na n ds o f t i n t e r r u p t i o n a r e d e v e l o p e d w h i c hb u i l daf o u n d a t i o n f o rt h eu s eo f t i l i so p e r a t i n gs y s t e m t h ee x p e r i m e n to nt h eo p e r a t i n gs y s t e mi st a k e n ,a n dt h er e s u l ti sg o o d ,w h i c h s a t i s f i e st h ed e s i g nr e q u i r e m e n t so nt h ew h o l e k e y w o r d s :l i n u xo p e r a t i n gs y s t e m ,r e a l t i m e ,n u m e r a lc o n t r o ls y s t e m ,d e v i c e d r i v e r 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发 表或撰写过的研究成果,也不包含为获得墨洼盘堂或其他教育机构的学位或 证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论 文中作了明确的说明并表示了谢意。 学位论文作者签名签字日期:z o 多年月2 矛同 学位论文版权使用授权书 本学位论文作者完全了解鑫鲞盘堂有关保留、使用学位论文的规定。 特授权盘洼盘茎可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学 校向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:辛 签字h j i j :州年弓 佩翩繇1 q 臃水 月2 3 闩 签字丌期:矽。弓年弓月弓。r = f 戥 劲 p 9 ,j ,1 笫章绪论 第一章绪论 1 1 题研究的背景与意义 现代数控技术集传统的机械制造技术、计算机技术、成组技术与现代控制 技术、传感检测技术、信息处理技术、网络通讯技术、光机电技术于一体,是 现代机床装备的灵魂和核心,是制造自动化设备的关键基础,是国家制造业现 代化的重要手段。因此,数控技术是关系到国家战略地位和体现国家综合国力 水平的重要基础性产业,其水平高低是衡量一个国家制造业现代化程度的核心 标志,实现加工机床及生产过程数控化,已经成为当今制造业的发展方向。专 家们曾预言:机械制造的竞争,其实质是数控的竞争。有鉴于此,各工业发达 国家都把提高数控技术水平作为提高制造业水平的重要源泉,竟相发展本国的 数控产业。 1 9 5 2 年,在麻省理工学院( m i t ) 诞生了第一台数控机床。从此,数控机床的 发展日新月异,到今天已经历经了两个阶段 2 4 , 2 5 , 3 5 , 3 6 , 3 7 , 3 8 , 3 9 1 :1 9 5 2 - - 1 9 7 0 年为数 控( n c ) 阶段,这一阶段数控系统经历了从电子管( 1 9 5 2 年) 到晶体管( 1 9 5 9 年) 到小 规模集成电路( 1 9 6 5 年1 的发展。自1 9 7 0 年起,小型计算机应用于数控,数控技 术进入计算机数控( c n c ) 阶段,1 9 7 4 年微处理器开始用于数控,到1 9 7 9 年数控 系统以微机为核心,采用可编程接口和遥控接口等外设,功能更趋完善。以模 块化为特征的数控系统在2 0 世纪8 0 年代后问世,在1 9 8 6 年数控系统开始采用 3 2 位微处理器。进入2 0 世纪9 0 年代后,为了打破少数数控系统制造商的商业 垄断,以微机和数字信号处理器s p ) 为硬件平台的开放式数控系统问世,并成 为目前国内外研究与开发的热点。 依据i e e e 的定义,所谓开放式数控系统【2 9 l ( o p e na r c h i t e c t u r ec n cs y s t e m ) 可广义地理解为能在不同硬件平台上运行,可根据需要动态改变拓扑结构,支 持与其它系统相互操作,且具有良好用户界面的数控系统。它是针对少数数控 系统制造商为了技术垄断所采用的封闭式体系结构提出和发展起来的。 丌放式控制器的研究计划中最具代表性的是美国的o m a c 计划、欧盟的 o s a c a 计划以及日玮= 的o s e c 计划。美困的o m a c ( o p e nm o d u l a ra r c h i t e c t u r e c o n t r o l l e r s ) 计划是美国的通用、福特和克莱斯勒二人汽车公司从1 9 9 4 年丌始肩 第章绪论 动的。同的足让制造商和用广i 都有了更大的主动性。欧盟o s a c a ( o p e ns y s t e m a r c h i t e c t u r ef o rc o n t r o l sw i t ha u t o m a t i o ns y s t e m s ) 计划是1 9 9 0 年由欧共体2 2 家 控制器,f 发商、机床生产商等联合提出的。该计划规定o s a c a 的规范和应用指 南,提出开发系统平台的标准、通用的软件模块和通用的o s a c a 平台。日本 o s e c ( o p e ns y s t e me n v i r o n m e n t f o rc o n t r o l l e r ) 计划于1 9 9 4 年由东芝机器厂及三 菱电子等6 家日本公司联合提出。o s e c 的丌放性指系统能满足用户对制造系统 不同配置的要求、最小化费用要求和应用先进控制算法及基于p c 的标准化人机 界面的要求。以上三个计划分别相应提出了三个不同的标准化软件模块。目前, 在世界范围内还没有形成统一标准的硬件和软件平台以及标准的用户界面。 国外的大型数控系统大多是基于底层核心代码完全公开的商用开放式数控 系统建造的,但是此类系统对于我国是禁运的,并且属于个别公司的技术垄断, 并不是真正意义上的开放。 基于“p c + 适配器”硬件平台是目前国内机床数控系统广泛使用的一种开放 式数控系统结构。其设计思想是利用p c 机作为数控系统的软硬件平台。在其标 准总线上直接连接实时控制单元( 将实时控制板卡插入总线插槽中) 而组成完整 的数控系统。这类系统为一种递阶式的体系结构,其中,第l 级为宏观控制级, 主要利用p c 机的软硬件资源,完成数控系统中上层一些实时性不是很强的任务。 并对全系统的运行进行协调和管理;第2 级为运动控制级,由实时控制单元完 成数控下层的高实时性控制任务,实时控制单元的各功能模块可有自己的c p u , 在其上运行各自的控制软件;第3 级为驱动控制级,其主要任务是完成电机的 驱动控制。由于该级控制对实时性要求很高,目前广泛采用高速d s p 作为控制 器。驱动控制级一般由若干个驱动单元组成,这些单元由专业厂家生产,但价 格较贵。由于递阶式系统具有较好的开放性、易于采用标准部件组成系统,开 发和生产比较方便。因此被国内外许多厂商,特别是中小厂家广泛采用。这类 系统最突出的缺点就是系统的组成单元和模块较多,各单元和模块恻,特别是 实时控制单元与伺服驱动单元间的信息交换往往成为阻碍系统性能提高的瓶 颈。而且控制系统的核心部分集成在适配器内部,并不开放。所以,这类系统 也不是完全意义上的丌放。 随着汁算机工业的飞选发展,速度更快,更稳定,功能更强大的软硬平台 相继出现为开放式数控提供了更为广阔的发展空n j 。集成化p c 数控系统 2 0 , 4 1 , 4 2 1 第一章绪论 是一个提高数控系统性能,降低成本的有效途径。集成化p c 数控系统结构体系 如图1 1 所示。 图1 1 集成化p c 数控系统结构 集成化p c 数控系统将数控系统的大部分功能集中在i p c 内部实现 发挥了当前高速计算机的强大功能。并且所有的底层核心内核全面开放 真正意义上的开放。 充分 属于 关于开放式数控系统采用的软件平台。国内研究机构大都采用了通用操作 系统平台,如d o s w i n d o w s n t l i n u x 操作系统等。基于d o s w i n d o w s 平台有 华中科技大学开发的华中i 型、北航推出的c h 系列数控系统、珠峰公司的中华 i 型以及南京四开公司的蓝天( s k y ) 系列产品。但是d o s w i n d o w s 系列本身的开 放性和功能有限,大大限制了数控系统的功能和灵活性。随着开放而且免费的 通用操作系统l i n u x 的出现,开放式数控系统平台逐渐向l i n u x 转移。基于l i n u x 的, :放式数控系统有清华大学的t h h p 一2 【4 州等。 对于各种操作系统平台的比较如表1 1 所示。 从表1 1 的分析可以得出结论,采用集成化p c 数控系统提出的硬件结构和 l i n u x 操作系统软件平台的开放式数控系统是目前开放式数控系统的最新发展 方向。但是集成化p c 数控系统对软件平台要求是很严格的。首先,原本使用运 动控制卡实现的高实时性任务改为采用软件方法来实现:其次,对于控制系统 第一章绪论 的各个模块,包括非实时部分都必须在软件内部实现,而且要保证各模块之间 能实时的交换信息;除此以外,系统还要进行插补运算,三维模拟等等大量的 数据处理。通用的l i n u x 还不能很好的满足这些要求,必需对它进行实时化改造。 当然,我们也可以直接采用商用的实时操作系统。 对于采用通用操作系统作为软件平台的开放式数控系统,对通用操作系统 的实时化改造是建造开放式数控系统的一个必不可少的环节,包括采用 d o s w i n d o w s 平台的系统。在基于l i n u x 的全软件数控系统的构造之初,本论 文着重对l i n u x 实时化改造进行了研究与开发。 表1 - 1 各种操作系统平台的比较 操作系统用户界面实时性多任务网络功能开发环境 d o s不好好不支持不好 不好 l i n u x 好好支持很好好 w i n n t 2 心,) ( p 很好差支持好很好 w i n d o w s 9 x 很好差支持一般很好 价格访问控制资源获取开放性稳定性升级性 低无一般好好差 免费高级用户级访问容易内核开放很好很好 很高用户级访问一般封闭好一般 很高无一般封闭差一般 1 2 国内外实时操作系统研究情况综述 i 2 1 实时操作系统( r 1 1 0 s 一- - r e a l t i m e o p e r a t i n gs y s t e m ) f l c j 发展历程 实时是指计算机对外部事件在限定的时间内做出反应和控制。并且实时的 概念是与具体应用紧密相关。 按照对外部事件响应时间的不同,实时系统也分为弱实时和强实时系统。 控制要求的是强实时,系统响应时间通常为几个毫秒。 r t o s 的特点: l 、 实时性和司确定性( j r o m p t n e s sa n dp r e d i c t a b i l i t y ) 系统响应外部事件的速度要快,响应时间是可确定的。r t o s 一般用于实时 第一章绪论 性要求很高的实时控制系统,系统的外部行为虽然表现为随机性,但是要求其 做出的反应是快速可预测的。只有r t o s 在时间上对外部时问的响应是可确定 的,才能保证实时系统设计的时限要求。 2 、可靠性( r e l i a b i l i t y l r t o s 因其应用环境特性的需要,要求有很高的可靠性,在设计r t o s 时, 强调应有多级的故障检测机制和恢复方法。 3 、 灵活性( f l e x i b i l i t y ) 实时系统的应用领域很广,r t o s 必须具备相当大的灵活性,以适应不同系 统的需求,灵活性主要体现在r t o s 的可剪裁性( s e a l a b i l i t y ) 、可配置性 ( c o n f i g u r a b i l i t y ) 等方面,以便实时操作系统能以最佳方式适应各种系统的需求。 r t o s 的研究是从六十年代开始的。早期的实时操作系统只是小而简单的、 带有一定专用性的软件,功能较弱的一种实时监控程序。这个时期,实时应用 较为简单,实时性要求也不高。应用程序,实时监控程序和硬件运行平台往往 是紧密联系在一起的。它一般为用户提供对系统的初始化管理以及简单的实时 时钟管理,有的实时监控程序也引入了任务调度及简单的任务间协调等功能, 属于这类实时监控的程序有r t m x 等。 随着计算机技术的不断发展,工业控制、机器人、电信产品和先进的军事 装备都开始需要有广泛的r t o s 的支持。实时应用变得越来越复杂,功能需求也 越来越高。简单的实施监控程序己不能满足大型应用系统对多任务、实时性等 功能的要求。这一时期r t o s 的发展经历了两个阶段:专用实时操作系统和通用 实时操作系统的研制。 1 、专有实时操作系统 用户为满足自身开发需要而研制与特定硬件相匹配的专有实时操作系统。 它一般只能适用于特定的硬件环境,且缺乏严格的评测,移植性也不太好。 2 、通用实时操作系统 计算机硬件的系统化、标准化,以及对实时操作系统的功能要求的增强, 用、自己丌发实时操作系统变得越来越困难,并且将延长开发周期,增加成本, 为i 比,出现了专业的实时操作系统丌发商,他们研究通用的实时操作系统,并 尽可能地适应各种应用地需求,使实时系统的系统软件与应用软件分离,用,。 第一章绪论 更多的集中精力于应用软件的开发而由开发商提供系统软件的支持。 122 通用实时操作系统 随着通用实时操作系统出现,国际实时性标准也相应出台。对于操作系统 的分时调度的方法,g a b r i e la w a i n e r 2 2 给出了一个最简单的解决方案。他采用 了一种可抢先的调度方式替代了m i n i x 中轮询式的调度方法。因为m i n x 没有 使用页和内存换入换出技术,在响应时间要求不高的情况下,这种方法是可以 接受的。大多数实时操作系统采用的是p o s i x 1 b 1 9 9 3u n i x d , s i 实时性标准。这 个标准规定了优先调度方法,用户内存页的锁定方法,实时信号,增强进程间 通讯机制和时钟以及一系列其他特性。u n i x 对此标准的兼容使其特别适合实时 应用系统。与此相关的还有p o s i x l 0 0 3 1 ( 编程接口) 标准和p o s i x l 0 0 3 2 ( 控制台 和工具软件) 标准1 9 】等。基于这些标准,出现q n x 等一系列商用实时操作系统。 q n x 6 i 采用的是微内核2 0 】结构其核心仅提供4 种服务:进程调度、进程间 通信、底层网络通信和中断处理,其进程在独立的地址空间运行,核心非常小 巧( q n x 4 x 为1 2 k b ) 。q n x 同时也服从p o s i x l 0 0 3 1 和p o s i x l 0 0 3 2 标准,提 供标准的u n i x 特性:编译器,调试器,x w i n d o w s 和t c p i p 协议,大大方便 了u n i x 程序的移植1 。 q n x 的微内核有很多优点,当用户进程运行在单独的地址空问时,不同模 块的内存管理的错误是互不影响的,用户在开发过程中只需单独调试用户进程。 由后台运行的微内核提供的驱动程序在多线程的环境中也更容易取得优先权。 q n x 微内核的另外一个优点是优良的剪裁性。用于放在r o m 中的q n x 就可以 剪裁成1 0 0 k 的大小,同时它也可以扩展成一个性能全面的分布式多处理机开发 环境。此外,微内核系统的移植和维护也很方便。实时的微内核系统还提供轻 量级的进程,快速上下文切换和进程间通讯。并且一个实时用户进程可以抢先 设备驱动。因为微内核通常很小,所以时耗计算易于进行,例如计算中断的延 迟。 但是微内核通常不能保证良好的整体性能。微内核花费相当大的资源进行 进程问通讯和上下文切换。而且微内核只提供一些简单的服务。所以,执行 同样的任务,在微内核系统中要使用更多的系统调用。虽然许多学者提出能实 现高效的保护级别的改变,上下文切换和信号传送,微内核在整体性能上还是 第一章绪论 和单内核无法比拟。 v x w o r k s 倒是一个单内核系统。v x w o r k s 是一个专用的面向宿主机客户机 的解决方案。一台u n i x 宿主机用来做软件开发和运行用用程序的非实时部分。 一个名为w i n d 的v x w o r k s 内核负责在客户机上运行实时任务。不同的计算机之 间通过t c p i p 网络协议进行通讯。v x w o r k s 是不兼容u n i x 的,但是它也提供 部分p o s i x 接口功能,主要是p o s i x 1 b 中关于实时扩展的部分。大部分v x w o l ( r s 的a p i ( 应用程序接口) 是其独有的。 在v x w o r k s 中,内核和进程运行在相同的地址空间,这使进程间切换变得 非常快,并且减少了系统调用陷阱的发生。后台运行的连接器可以动态加载任 务以及系统模块,这一特性是专门为系统剪裁性设计的。它的交互控制台很特 别,可以使用类c 语言的脚本来修改和检验变量,检查语法,调用函数,进行 简单的调试。这些特性使基于v x w o r k s 的开发相对简单,但是,这个系统也是 相当脆弱的,某个小模块的错误有可能导致整个系统瘫痪。 m o d c o m p 的r e a l i x 2 】也是单一内核系统。它是一个完全的u n i x 系统, 是从u n i xs y s t e m v 进行实时改造而成的。它的内核是完全抢先式的,实现途径 是通过内核信号灯取代传统显式的s l e e p w a k e u p 调用和关中断操作,从而实现对 资源的访问。用信号灯取代关中断降低了中断延迟并且大大简化了系统向多处 理机移植的过程。r e a l i x 是严格遵从p o s i x 1 0 0 3 的操作系统,所以,移植 u n i x 应用程序十分方便。r e a l i x 的实时性能包括实时任务调度,预分配内存 和文件空间,同步和异步i o ,增强i p c ( 进程问通讯) 和时钟以及链接中断。链 接中断使得用户进程也能处理中断。 由于m i c r o s o f t 的w i n d o w s 系列在桌面机上的流行及其良好的人机接口,也 有一部分研究者使用w i n d o w sn t 系列做实时化改造f 2 “。然而,w i n d o w sn t 是 不兼容硬实时任务的。w i n 3 2a p i 不是为实时任务设计的,中断可能被无限延迟 下去,内存的预分配也存在很大的问题,而且对于嵌入式系统,对w i n d o w sn t 的剪裁也是个问题。一些公司采用各种各样的方法去解决上述问题。匈牙利 的l pe l e k t r o n i kg m b h 【i 】公司专门甚至研制了一个硬件接口卡( 该卡由一个中断 发生器和一个定时器组成) ,用它来产生不可被屏蔽的中断信号。因为中断信号 小可被屏蔽,这利t 方法保证了完全独立于w i n d o w sh 、j 钟控制。r e d s y s 公司的 1 n t i m e 产品则采用了捕获w i n d o w s 关中断信息和重设时钟信号的方法。 第一章绪论 综t 所述,通用商业实时操作系统都是独立于通用操作系统的单独的操作 系统。这些操作系统提供专门的丌发环境,提供部分和全部的p o s i x l 0 0 3 1 标 准接口,都能提供很好的硬实时性能。但是,这些系统有些不适合用作数控系 统的开发,而且都不是底层完全开放的,并且价格昂贵,还存在版权问题,在 其上进行的二次开发产品发布时还要支付相应的版权费。 1 2 - 3 基于l i n u x 的实时操作系统 相对于商业实时操作系统,l i n u x 操作系统具有免费、内核源代码开放等优 点。但是l i n u x 只是部分支持p o s i x 1 b 标准。如今的l i n u x2 4 1 8 内核已经实 现了p o s i x 1 b 标准的调度和用户内存页的锁定,部分实现了时钟功能。但是内 核进程不能被抢先,低时钟分辨率和中断延迟较大的问题没能很好的解决。因 此,p o s i x 1 b 只是解决了l i n u x 的软实时进程处理的问题。也就是说,标准l i n u x 只是一个软实时系统。要实现硬实时,还必须对l i n u x 加以实时性改造。 v i c t o r y o d a i k e n 和m i c h a e lb a r a b a n o v 在开发r t l i n u x 过程中,提出将l i n u x 提供的标准p o s i x 服务与硬实时服务有机地结合起来,提供透明的、模块化、 可扩展的实时操作系统。r t l i n u x 通过修改l i n u x a r c h i 3 8 6 下与体系结构有关的 部分,在l i n u x 与硬件之间创建一个硬实时内核。l i n u x 作为此内核的一个优先 级最低的任务运行。硬实时任务都在实时内核上运行,而所有非实时任务都在 l i n u x 上运行。 美国k a n s a s 大学开发的k u r t ( k ur e a lt i m el i n u x ) 2 6 , 3 0 1 只有一个内核, k u r t 保留l i n u x 中原有的中断管理,通过对时钟芯片8 2 5 4 编程达到微秒级的 定时能力,而不是l i n u x 的毫秒级的周期时钟,从而提供比l i n u x 更好的软实时 能力。k u r t 引入了两种操作模式:一般模式和实时模式,在一般模式中,系统 的行为和一般l i n u x 系统一样,系统只调度非实时任务。当核心运行在实时模式 时,它只执行实时进程。一个系统调用允许核一1 5 处于实时模式或一般模式之一。 在实时任务初始化时,就已经指定了产生实时事件时被调用的处理程序。当实 时任务执行结束时,核心可以切换回一般模式。k u r t 实时任务与实时任务之间、 实时任务与非实时任务之间可通过实时f i f o 进行通信。 美国加州大学i v r e n 分校开发的r e dl i n u x l 3 2 l ( r e a l t i m ea n de m b e d d e dl i n u x 、 采用了与r t l i n u x 样的高效定时器( 微秒级) 和软中断仿真。在实时任务调度方 第一章绪论 面,它提出的是在内核中插入抢先点以减少实时任务被阻塞的时间。 意大利的r t a i 组织开发的r t a i 3 h ( r e a l t i m e a p p l i c a t i o ni n t e r f a c el i n u x ) 的 目标是通过r e d l i n u x 项目,在实时硬件抽象层( r t h a l ) 上建立实时应用接口 ( r t a i ) ,为实时应用编程提供一个通用而功能强大的接口。r t a i 修改了 l i n u x a r c h i 3 8 6 中与体系结构相关的代码而形成了r t h a l 层。r t h a l 的作用是 使r t a i 能够在实时任务需要运行的任何时刻中断l i n u x 。引入r t a i 后,l i n u x 的功能没有改变,但运行于最低优先级下,当无实时任务执行时它爿。允许执行。 清华大学开发的s o p c a t 4 “,采用和r t l i n u x 相类似的实时内核和中断仿真 的方法对l i n u x 进行改造,在i b m 的r e d - w o o d 1 1 1 硬件系统上实现了一个实时 嵌入式操作系统。 综上所述,如何高效的实现中断管理和进程调度以及相应的高分辨率定时 器将是l i n u x 实时化研究的主要内容。 1 3l i n u x 实时性开发的关键技术【4 4 , 4 5 , 4 6 , 4 7 1 1 、进程管理 通用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 s c h e d u l e r 取代了l i n u x 内核调度器s c h e d u l e r 。 2 、 内存管理 l i n u x 采取了“虚拟内存”的内存管理方式。即l i n u x 利用交换空间让进程 第章绪论 运行在一个比实际内存大的虚拟内存空问里。当进程访问的虚拟内存的内容在 交换空问里时。l l n u ) ( 就要把在交换空间里的页交换到实际内存中来。它使得操 作花费的时间具有不可预测性,在实时系统中是不允许的;为了更高效地使用 硬件,l i n u x 可能会做一些额外的操作:当内存不足时,l i n u x 不是只释放一个 页面而是搜索整个页面链表以释放尽可能多的页面。这就延迟了所有进程的执 行,包括实时进程。 那么,在进行实时化改造的时候,通过修改l i n u x 内核,将内核中的s w a p o n ( ) 调用屏蔽掉,关闭虚拟内存的使用,并且通过修改k s w a p d 进程的参数,实现内 存管理的优化,让实时l i n u x 尽可能从时间方面加快响应。对于由此而来的空间 浪费,可以通过将l i n u x 内核剪裁,去掉一些不必要的文件系统的支持和多余的 驱动模块。 3 、中断管理 l i n u x 内核的进程经常关闭中断以尽快完成自己的任务。如果低优先级的进 程关闭了中断,那么即使有高优先级实时进程的中断发生系统也无法响应。这 种情况在实时系统中是不允许发生。 为了解决上述问题,在实时l i n u x 系统中,采用任务细分的方法来降低中断 延迟,将一个时间耗费较长的任务划分成若干个相对较短的时间段,每个时间 段结束时检查实时进程的中断请求。这样虽然延迟了非实时进程中断响应的速 度,但是系统的实时中断延迟大大减少。另外一种方法是中断仿真。即让非实 刚进程与硬件脱离,当非实时中断发生时,让中断响应在软件仿真环境下执行, 这个仿真环境本身是一个可抢占的非实时进程。最后实时中断关闭的只是仿真 环境提供的一个开关量,而不是真f 的硬件中断,当然也不存在实时中断延迟 了。本文最终采用中断仿真的方法解决中断延迟。将l i n u x 内核中的关中断指令 s t i 全部替换成仿真宏ss t i 。 4 、实时l i n u x 接口 作为一个通用实时操作系统,最终提供给用户的是一组可方便调用的应用 程序接口。这一方面可以将用,、与底层硬件的繁琐操作分离丌来,加快应用软 件丌发的速度:一方面也保证了安全性,可有效防止用户误操作导致的整个操 怍系统瘫痪。系统最后提供各种实时与非实时接口,包括进程创建撤销,进程 第章绪论 问通讯接口以及中断、时钟定时等接l | 。实时l i n u x 修改了l i n u x 内核,舀:实时 l i n u x 卜i 使用的硬件设备必须重新编写驱动程序以使其高效稳定的工作。驱动程 序接口采用标准u n i x 接口方式给出。 1 4 本文的主要研究内容 本文密切结合并联机构的数控系统丌发。基于l i n u x 进行实时化改造,丌发 p m a c 在实时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 p i 的开发,提出了 实时l i n u x 下软件结构,具体介绍了各种用户接口的函数原型和使用方法。 第五章搭建实时l i n u x 控制应用硬件平台,开发实时l i n u x 下p m a c 设备 驱动开发和基于p m a c 的控制应用实例。 第六章汇总全文主要结论。 附录5 - d o f 并联机床刀库换刀功能的控制与实现。 本文各章均以引言开始简要介绍研究内容和目的;以小结结尾,简要归 纳所得结论。 第一1 章实时l i n u x 的总体驶计 第二章实时l i n u x 的总体设计 2 1 引言 构造实时操作系统有两种方式:贴附式( b o l t o n ) 干l l 内在式( b u i l t i n ) 。贴附式 是在现有的通用操作系统上添加文时部分,丌发周期短,呵利用通用操作系统 现有资源;内在式则是在实时功能内核上筑建操作系统,针对性强,但开发周 期长、难度大、成本高,我们所见到的商用实时操作系统( 如q n x ,v x w o r k s 等 等1 就是此类操作系统。本文确定采用贴附式方法丌发实时l i n u x 操作系统。 2 2 工业l v _ n 领域对实时操作系统的要求 通过分析划分系统必需功能,确定系统的性能和运行要求,为系统开发的 总体结构奠定基础。 2 2 1 工业控制领域对实时操作系统的要求 l 、定时与时钟管理 在工控现场往往需要完成诸如动态参数的采样、c n c 的插补运算、位置伺 服控制、面板操作及开关量定时扫描等任务,这些控制任务的共同特点是要求 系统能在规定时问周期内完成,且控制过程中任务切换频繁。在通用操作系统 中,由定时器产生固定周期的中断来提供定时,不能满足实时控制要求,需要 改进时钟管理程序,以便用户根据不同的现场要求自行设定时间片的长度。 2 、外界中断的处理 工控现场存在大量的随机事件,它们中的许多是以中断形式通知计算机的。 对这些信号,要求实时l i n u x 系统提供了中断响应的手段、向量表、向量的保存 与恢复、中断链接等,以便用户设定自己的中断服务程序。 3 、c p u 调度策略及方式 在实时控制系统中,需要处理不同优先级的任务,所丌发实时操作系统中 应设有优先级调度器。优先级凋度策略有非抢占式进程调度和可抢占式进程调 度两种方式,在工、l k 控制系统中,有些情况下必须采用完全可抢占进程调度, 在另外一些情况下,则必须采用部分可抢占的调度策略。这要求实时l i n u x 操作 第_ _ = 章实时l i n u x 的总体殴计 系统提供可定制的调度器。 4 、通讯机制 图2 1 实时l i n u x 系统信息处理 控制系统中来自工控现场的外部和来自实时系统管理的内部之间需要相互 传送信息( 如图2 1 所示) ,通过信息处理和交互,达到系统各部分之间相互协调 以完成所期望的控制要求。对于内部信息,系统选择最优的进程间通讯机制来 进行处理;对于来自操作系统外部的中断信息,需要设计一个中断激活机构, 负责获取中断信息并通知所响应的中断服务程序;而对于外部查询信息,由于 发生时系统无法获取,只能等待系统处理消息任务完成以后再响应,在设计时 应尽量避免使用此种方式。 2 2 2 实时操作系统( 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 等相比,除了方便 用户管理计算机资源外,r t o s 还要求有强实时性、可确定性和高可靠性。可以 从任务凋度机制、晟大中断禁止时问和任务切换时问三个主要方面来评价一个 实时操作系统的性能。 2 3 实时l i n u x 总体框架 实时操作系统具有层次化的结构,在进行设计时,采用自底向上逐步扩充 的设训。方法【5 。层次结构的最大优点是把全局的问题局部化,把一个大型复杂 第一章实时l i n u x 的总体设计 的系统分解为几个单向依赖的部分,各部分的功能相对简单。这样使丌发的复 杂性降低,提高了整个系统的可靠性。罔2 - 2 所示的总体成本曲线,通过分析可 123 456 目* 图2 - 2 软件成本示意图 2 ” 以看出,随着分层层数的增加,问题不断局部化,开发每层软件的成本确实降 低了,但是,层次增加以后,设计各层接口所需要的工作量也将增加。综合这 两方面的因素,系统开发设定层数在2 - 4 层之间为宜。 图2 ,3 示出了实时l i n u x 系统的层次化结构,系统分为实时内核,系统调用, 集成开发环境和应用软件三层。 l 、实时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 内核的接口。用户只有通过系统调用层才能访问实时l i n u x 内核, 这在一定程度上保证了系统的安全性。 实时l i n u x 系统调用层由实时进程接口、实时时钟管理接口,实时中断处理 接口等组成,其用户接口a p i 是一。组可供调用的动态函数库。 3 、集成丌发环境及应用软件层 第一章文叫i 。i n u x 的总体殴h
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 象字演变课件
- 诺曼底号遇难记课件教学
- 2025版危险货物运输全程监控及追溯服务合同
- 2025年车辆安全检测设备销售与租赁合同范本
- 2025年度化工原料采购合同范本版
- 2025年度高端品牌形象插画设计服务合同
- 2025年度高科技产业园基础配套设施施工合同
- 2025年度电子商务平台入驻服务合同范本
- 2025年度农业科技行业员工标准劳动合同范本
- 2025年地基处理与地下空间利用分包合同样本
- 【MOOC】中国传统艺术-篆刻、书法、水墨画体验与欣赏-哈尔滨工业大学 中国大学慕课MOOC答案
- 2025届湖南省永州市高三年级上册第一次模拟考试物理试题(一模)附答案
- 《汽车发动机构造与检修(第2版)》课件 王雷 项目1、2 汽车发动机基本知识;发动机曲柄连杆机构构造与检修
- 腹腔镜风险评估及应急预案
- 【追星文化对大学生消费行为及观念的影响问卷调研报告(含问卷)(论文)11000字】
- 2025届高三数学一轮复习备考经验交流
- 中核集团中辐院招聘笔试真题2022
- 泡沫箱子合同范本
- 智能制造装备与集成 课件 02 智能制造架构与装备
- 2024-2029全球及中国土豆泥行业市场发展分析及前景趋势与投资发展研究报告
- 新人教版初二上册(八上)数学全册课件
评论
0/150
提交评论