




已阅读5页,还剩59页未读, 继续免费阅读
(电力电子与电力传动专业论文)ecos的优化、移植及在ups监控系统中的应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理t = 大学硕士学位论文 a b s t r a c t e c o s ( e m b e d d e dc o n f i g u r a b l eo p e r a t i n gs y s t e m ) i sa no p e ns o u r c e ,r o y a l t y f r e e a n dn o n e c o p y r i g h tl i m i t e dr e a lt i m eo p e r a t i n gs y s t e m ,f i t sf o re m b e d d e da p p l i c a t i o n a n d d e v e l o p m e n t e c o sh a sf o l l o w i n gk e yf e a t u r e s :p o w e r f u l a n df u l l f u n c t i o n ; f u l l f e a t u r e d ,c o n f i g u r a b l e ,e x p a n s i b l e ,p o r t a b l ea n dc o m p a t i b l er e a lt i m ee m b e d d e d k e r n e l ;p e r f e c t ,r o y a l t y a n d b u y o u t f r e e d e v e l o p m e n tt o o l s ;u n d e r c o n s t a n t i m p r o v e m e n t ,s u p p o r t i n g f o raw i d e v a r i e t yo fd e v i c e s ,a c c o r d i n g w i t ht h ed e v e l o p i n g d i r e c t i o no fe m b e d d e ds y s t e m n oo t h e rt h a nt h e s ef e a t u r e sh a v er e s u l t e di nm o r e a t t e n t i o nt oe c o s i t sar e s e a r c hh o t s p o to fd e v e l o p i n gn e we m b e d d e d p r o d u c t sw i t h e c o si nt h ef i e l do f e m b e d d e d o p e r a t i o ns y s t e m t h i sp a p e rd i s c u s s e st h em a i n p a r t so f e c o sk e r n e l ,s u c ha ss c h e d u l em e c h a n i s m , m e m e o r ym a n a g e m e n t , i n t e r r u p t a n de x c e p t i o nh a n d l i n ge t c a tt h es a m e t i m e ,a d e t a i l e dc o m p a r i s o ni sd o n ea m o n ge c o sa n do t h e r o p e ns o u r c er i d s ,i e r t l i n u x , 弘c o s i i ,r t e m se t c t h e i rc h a r a c t e r sa n dp e r f o r m a n c e a r ea n a l y s e di nt h ea s p e c t s o fs c h e d u l em e c h a n i s mo f m u l t i t a s k ,s y n c h r o n i z a t i o np r i m i t i v e ,r e a l - t i m e c h a r a c t e r i z a t i o n f r o mt h ec o m p a r i s o n ,t h ea d v a n t a g ea n dw e a k n e s so fe c o si sc l e a r t h e n s c h e d u l i n ga l g o r i t h m o fe c o si so p t i m i z e d t h ee a r l i e s td e a d l i n ef i r s t ( e d f ) s c h e d u l i n ga l g o f i t h r ai sc o m b i n e d w i t hc l a s s i c a lp i d c o n t r o l l e r , t h e np i d f e e d b a c kc o n t r o l l e de d f s c h e d u l i n ga l g o r i t h m ( p i d - f c - e d f ) i sr e a l i z e d ,a n dt h e i m p l e m e n t a t i o n m e t h o d so fi n t e r f a c eb e t w e e nt h en e ws c h e d u l e ra n dt h em u l t i l e v e l q u e u es c h e d u l e r o fe c o si si n t r o d u c e d f o rh a r d w a r ea b s t r a c tl a y e r ( h a l ) n e e dt ob ep o r t e da n dd e v i c ed r i v e r ss h o u l d b ep r o g r a m m e dw h e nc c o si sa p p l i c a t e do nan e w t a r g e tp l a t f o r m t h a te c o sd o e sn o t s u p p o r t ,t h et h e o r y o fh a lt h et e c h n i q u eo fp l a t f o r mp o r t i n ga n dt h ed e t a i l e dp r o c e s s a n dm e t h o do f p r o g r a m m i n g e t h e m e td e v i c ed r i v e r sa r ed i s s e r t a t e di np a r t i c u l a r a tl a s t ,e c o si sa p p l i e dt or e m o t es u p e r v i s i o ns y s t e mo fu n i n t e r r u p t a b l ep o w e r s u p p l y ( u p s ) ,t h ep l a t f o r m c o n s i s to fh a r d w a r ea n ds o f t w a r eb a s e do na r m ( s 3 c 4 5 1 0 ) i sd e s i g n e d ,w h i c ha n l y s e st h ep r o c e s sa n dt e c h n i q u eo fe x p l o i t a t i o ne m b e d d e dw e b s e r v e ra n da p p l i c a t i o ns o f t w a r eo fe c o si nd e t a i l a sar e s u l t ,as u p e r v i s i o ns y s t e mo f u p sb a s e do na d v a n c e db s ( b r o w s e r s e r v e r ) s t r u c ti sf o r m e d ,w h i c ht a k e sp l a c eo f t h es u p e r v i s i o ns y s t e mb a s e do nc o n v e n t i o n a lc s ( c l i e n t s e r v e r ) m o d e ,a n d c a n a c h i e v ei n t e l l i g e n ts u p e r v i s i o na n dm a n a g e m e n t o fu p sm o r ec o n v e n i e n t l y k e yw o r d s :e c o s ,r t o s ,s c h e d u l i n ga l g o r i t h m ,p l a t f o r mp o r t i n g , s u p e r v i s i o na n d m a n a g e m e n ts y s t e m i i 武汉理上大学硕士学位论文 1 1 e c o s 概述 第一章绪论 嵌入式系统是一种软硬件可裁减的,适应应用系统对功能、可靠性、成本、 体积、功耗等综合性能严格要求的专用计算机系统。嵌入式系统主要有嵌入式处 理器、相关支撑硬件、嵌入式操作系统以及应用软件系统等组成,它是一种集软、 硬件于一体的可独立工作的设备或组件。嵌入式操作系统是一种实时的、支持嵌 入式系统应用的操作系统软件,是嵌入式系统重要的组成部分,通常包括与硬件 相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化 浏览器等。与通用操作系统相比,嵌入式操作系统在系统实时高效性、硬件的相 关依赖性、软件固态化以及应用的专用性方面具有较为突出的特点。 目| ;i 嵌入式操作系统的种类较多,据统计,仅用于信息电器的嵌入式操作系 统就有4 0 种左右。其中比较流行的主要有:e c o s 、v x w o r k s 、w i n d o w sc e 、p s o s 、 p a l mo s 、嵌入式l n u x 、q n x 、n u d e a r 、uc o s i i 、p o w e r t v 、o s 9 、r t e m s 等产品。这些嵌入式操作系统在开放性、实用性以及功能等各方面各有特色,它 们大多数是商业产品。从实时性方面分类,嵌入式操作系统分为实时操作系统 ( r e a lt i m eo 口e r a t i o ns y s t e m ,r t o s ) 和非实时操作系统,其中源码开放的实时操 作系统有e c o s 、r t l i n u x 、uc o s i i 、r t e m s 等。 e c o s ( e m b e d d e d c o n f i g u r a b l eo p e r a t n gs y s t e m ) 是一种嵌入式可配置实时操 作系统,适合于深度嵌入式应用,主要应用对象包括消费电子、电讯、手持设备 以及其他一些低成本和便携式应用。e c o s 是一种适合于深度嵌入式应用的实时 操作系统。主要特性包括:开放源代码,且为免费软件,无版权费用。高度 可配置性。容易移植到不同的处理器和目标平台。富有特色的实时内核。 代码量小。符合标准协议。文件系统与网络支持i l i 。 1 1 1e c o s 的发展 e c o s 最初由c y g n u s 公司于1 9 9 7 年春季开始设计,其主要目的是为市场提 供一种低成本、高效率、高质量的嵌入式软件解决方案,同时要求该软件所占资 源极少,并降低嵌入式产品的成本。c y g n u s 于1 9 9 8 年1 1 月发布了第一个e c o s 版本( e c o s l 1 ) ,它只支持有限的几种处理器结构:m a t s u s h i t a m n l 0 3 0 0 、t o s h i b a t x 3 9 和p o w e r p c 。1 9 9 9 年5 月发布了第二个版本e c o s l 2 1 ,它在e c o s l 1 的基 础上增加了许多新的特性,并扩大了对处理器的支持范围。 1 9 9 9 年1 1 月,r e dh a t 收购了c y g n u s 公司,此后几年,e c o s 得到迅速发展。 武汉理t 大学硕士学位论文 2 0 0 0 年3 月,r e dh a t 发布了e c o s 的第三个版本e c o s l 3 1 ,它在e c o s l 2 1 的基 础上又增加了很多特性( 如t c p i p 协议栈、p c i 支持等) ,并扩充了对处理器的 支持。同年8 月,e c o s 增加了对目标系统引导和调试固件( f i r m w a r e ) 的支持, 即r e d b o o t ,它是r e d h a t 的一个标准嵌入式系统引导和d e b u g 环境【2 1 。r e d b o o t 目前已被许多嵌入式产品所采用。 2 0 0 2 年由原来的e c o s 开发人员组建了一个新的e c o s c e n t r i c 公司,并于同 年4 月发布了e c o s2 0a l p h a 版,2 0 0 3 年3 月,又发布了e c o s2 0 b e t a 版,2 0 0 3 年5 月正式发布了e c o s2 0 ( 后文中提到的e c o s 均指e c o s2 0 ) 。能支持近百种 当时市场上广泛使用的嵌入式系统开发平台和评估版。2 0 0 4 年1 月1 3 日,r e d h a t 将e c o s 的版权转让给f s f ( f r e es o f t w a r ef o u n d a t i o n ) ,这将巩固e c o s 的地位, 有利于e c o s 的发展与推广。 目前,许多公司都在使用e c o s ,并先后成功推出了使用e c o s 的嵌入式产品。 如:b r o t h e rh l - 2 4 0 0c e n 网络彩色激光打印机、d e l p h i 车载信息处理系统 ( m p u ) 、i o m e g ah i pz i p 数字音频播放器、i k e n d i 指纹识别系统、3 gl a b 移动 电话、g p s 卫星地面设备、m p 3 播放器、c r o s s t o rr a i d 系统等。 1 1 2 支持的硬件 e c o s 目前支持十几种处理器,包括这些处理器的上百种变体和多种典型开 发板。另外还支持多种f l a s h 设备、串口设备、以太网控制器和u s b 设备。 下面是e c o s 目前所支持的主要处理器系列f 1 1 1 2 1 。 a r m 。 f u j i t s uf r v 。 h i t a c h ih 8 3 0 0 。 i n t e lx 8 6 及兼容处理器。 m a t s u s h i t aa m 3 x 。 m i p s 。 n e cv 8 x x 。 p o w e r p c 。 s a m s u n gc a l m r i s c i6 3 2 。 s p a r c 、s p a r c i it e 和s u p e r h 。 1 1 3 基本功能 e c o s 使用了多任务抢占机制,具有最小的中断延迟,支持嵌入式系统所需 的所有同步原语,并拥有灵活的调度策略和中断处理机制。 e c o s 的基本功能如下【1 l 【2 l : 墓堡堡兰盔堂堡:兰堡丝壅 1 ) 硬件抽象层( h a l ) 。 2 ) 实时内核: 中断处理。 例外处理。 可选择的调度器。 多线程支持。 一组丰富的同步原语。 定时器、计数器、告警器。 内存分配与管理。 调试和测试支持。 3 ) u i t r o n 3 0 兼容a p i 和p o s i x 兼容a p i 。 4 ) i s o c 和数学库。 5 ) 串口、以太网、u s b 和看门狗设备支持。 6 ) t c p 肿网络栈,包括: q b o o t p d h c p 。 ( g ) d n s 。 n 叮p f 1 衅。 s n m p 。 w v 6 。 h t m ) 。 p p p 。 7 ) 文件系统: j f f s 2f l a s h 文件系统。 r a m 文件系统。 r o m 文件系统。 8 ) 电源管理。 9 ) g d b d e b u g 支持。 1 2 e c o s 组织结构 e c o s 的一个主要创新点也是设计目标就是系统的高度可配置能力。为了实 现这一目标,e c o s 将系统分为不同的软件组件。这些软件组件具有可重用性, 根据目标硬件平台的实际需要,通过其独特的配置工具可以选择使用相应的组 件,来实现完整的嵌入式系统。对于每一个被选择的组件,还可以对它的各个选 项进行更细致的配置,如增加和删除组件的某些功能,也可以修改后产生可执行 3 武汉理工大学硕士学位论文 的e c o s 映像组件。相对那些没有这样经过配置的嵌入式软件来说,由于不包含 实际应用不需要的多余代码,e c o s 的资源负载达到最小,具有更快的运行速度 和良好的稳定性。 同时,e c o s 提供了一个标准机制使组件提供者可以发布自己的组件以扩展 e c o s 的功能,同时使开发者可以从可选的组件集合中选择自己所需的组件。 e c o s 还具有良好的移植性和兼容性。它使用h a l 的形式将上层软件如底层 硬件进行隔离,这种特性使e c o s 很容易地在不同地平台和不同体系结构之间的 移植。e c o s 提供了一些标准库,并实现了与l ai t r o n 3 0 和p o s i x 标准的兼容, 这种兼容性为第三方软件移植到e c o s 系统提供了保障。 1 2 1e c o $ 的层次结构 e c o s 良好的可配置性、可扩展性、移植性和兼容性主要得力于e c o s 的特殊 的层次结构。 图1 1 是e c o s 的层次结构图。e c o s 的最底层是硬件抽象层,负责对目标系 统硬件平台进行操作和控制,包括对中断和例外的处理,为上层软件提供硬件操 作接口。 囤圈 田曰圈 圈卜1e c o s 结构图 r e d b o o t 是一个无内核的系统引导程序,是e c o s 的一个特殊应用。r e d b o o t 可以加载e c o s 程序,并提供d e b u g 支持。另外通过r e d b o o t 还可以对目标系统 环境参数进行管理。r e d b o o t 具有一个用于d e b u g 目的的s t u b 程序,为g d b 工 4 武汉理工大学硕十学位论文 具的使用提供支持。 设备驱动程序对硬件设备进行控制和管理,并完成设备数据的读写操作。设 备驱动程序模块自身也采用层次结构,上层驱动程序( 相当于虚设备) 也可以调 用下层驱动程序( 物理设备) ,并且增加下层驱动程序未能提供的一些功能。设 备驱动程序为上层软件提供标准的a p i 函数,应用程序通过调用这些a p i 函数 对设备进行访问,完成对设备的初始化配置、获取配置信息以及数据传输等操作。 内核是e c o s 的一个核心组件,也是系统的一个可选组件,开发者可以根据 应用的复杂性、适用原则选择是否需要内核。e c o s 的网络栈支持完整的t c p 1 p 网络协议栈,提供了基于o p e n b s d 和f r e e b s d 两种实现方式。e c o s 目前支持的 网络服务包括f r p 、d h t p 、s n m p 、d n s 、h t t p d 、i p v 6 、p p p 等。e c o s 支持 的文件系统包括r a m 文件系统、f l a s h 文件系统和r o m 文件系统等。 在内核和驱动程序之上的还有标准库a n s ic 库和数学库、兼容层( 1 ai t r o n 和p o s i x 兼容) 和w e b 服务器。作为一种开放软件,e c o s 还可以很方便的容纳 第三方软件。 e c o s 的这种层次结构不仅体现在各个软件模块上,而且还体现在其配爱方 法上。e c o s 的图形配置工具( e c o sc o n f i g u r a t i o nt 0 0 1 ) 可以对系统的各个软件 组件以及它们的配置选项进行配置。图1 2 是图形配置工具对h a l 配置的一个 片断。e c o s 将各种软件模块封装成独立而完整的包,而这些包又可以进行分层 配置。从图1 2 中可以看出e c o s 的多层次配置结构:包( “e c o sh a l ”) 一组 件r p l a t f o r m i n d e p e n d e n th a l o p t i o n s ”、“i 3 8 6a r c h i t e c t u r e ”等) 一配置选项( “s m p r t 甜,t 籀i 3 0 0 0 蚓卜:e f o - q 【j 阻随z ;砍 s u p p o r t ”、“i 3 8 6p c 7 f a r g e t 等) 一配置子选项( “s t a r t u pt y p e ”、“o u t p u t t op cs c r e e n ” 茎堡里! 查堂堡主堂焦笙塞 等) 。 1 2 2 e c o s 源码结构 e c o s 源码的内容包括系统所有软件组件、测试程序代码、配置工具及源码、 应用程序例子和说明文档等。其主要目录包括: ( 1 ) p a c k a g e s :包含e c o s 系统的所有软件包。 ( 2 ) t o o l s :包含e c o s 配置工具( 图形配置工具和命令行配置工具) ,包括 可执行文件和源码。 ( 3 ) e x a m p l e s :包含些从简单到复杂的应用程序例子。 ( 4 ) d o c :联机说明文档。 e c o s 使用组件仓库( c o m p o n e n tr e p o s i t o r y ) 的形式对所有软件包和组件进行 管理,p a c k a g e s 子目录就是包含所有软件包及组件的组件仓库。图1 3 为组件仓 库p a c k a g e s 的目录结构简图吼组件框架的包管理工具( p a c k a g e a d m i n i s t r a t i o n t 0 0 1 ) 对e c o s 源码进行管理,在组件仓库中增加新的软件包、更新当前使用的 包以及删除旧的不需要的软件包。p a c k a g e s 目录下有一个数据库文件e c o s d b , 包含了组件仓库所有软件包的信息,它由包管理工具进行维护。 闱1 - 3n i 伟仓库| i 采结构 通常,e c o s 曲文件不需要修改,应用层的开发人员可以将组件仓库当作可 以重复应用的只读资源。如果将e c o s 移植到新的平台,需要对它进行编辑,以 便配置工具可以识别新的平台并控制新的硬件抽象层h a l 。由于e c o s 还处于不 武汉理工大学硕士学位论文 断发展之中,任何时候都有可能增加新的平台支持以及增加新的组件,c c o s 的 组件仓库也因此得到不断更新。开发人员可以通过e c o s 的c v s 服务器 ( h t t p :s o u r c e s r e d h a t c o m c g i - b i n c v s w e b c g i ? c v s r o o t = e c o s ) 或其他方式来更新组 件仓库。 1 3e c o s 的开发工具 e c o s 具有两种可选择的开发环境:一种是建立在w i n d o w s 下的开发环境; 另一种是基于l i n l l x 或u n i x 下的开发环境。 在w i n d o w s 环境下( 包括w i n d o w s9 8 、w i n d o w sn t 、w i n d o w s2 0 0 0 和 w i n d o w sx p ) ,e c o s 开发环境的建立需要三种工具和环境,分别是c y g w i n 、g n u 交叉编译工具和e c o s 配置工具。l i n u x 环境下只需要g n u 交叉编译工具和e c o s 配置工具。 c y g w i n 是运行在w i n d o w s 平台上的一个u n i x l i f l u x 模拟环境。由动态链 接库c y g w i n l d l l 和一组u n i x l i n u x 工具集组成。 e c o s 使用的g n u 交叉编译工具包括三个部分:编译器g c c 、调试工具g d b 或i n s i i e # t 、以及包括g n u 汇编器和链接器在内的g n u 二进制工具( g n ub i n a r y u t i l i t y ) 。 e c o s 配置工具包括图形配置工具和命令行配置工具,通常使用图形配置工 具。在w i n d o w s 和l i n u x 环境下都可以使用e c o s 图形配置工具。命令行配置工 具在w i n d o w s 的c y g w i n 环境下运行,也可以在l i n u x 下直接运行。 c y g w i n 的安装、g n u 交叉编译工具的编译与配置、e c o s 源码和配置工具的 安装等e c o s 完整开发环境的建立方法, 可以参见 h t t p :e c o s s o u r c e w a r e o r g g e t s t a r t h t m l 。 目前最新的e c o s 集成开发工具e c o s p r o t md e v e l o p e r a n ds t a r t e rk i t s 经由 e c o s c e n t r i c 公司发行。 1 ,4 嵌入式操作系统发展方向、本文的选题意义及内容 1 4 1 嵌入式操作系统发展方向 ( 1 ) 嵌入式应用软件的开发需要强大的开发工具和操作系统的支持引。而 开发工具向丌放和集成化的方向发展1 5 1 。e c o s 支持流行的嵌入式处理器,拥有良 好的实时性能和丰富的功能,其开发工具功能强大完整,应用程序开发简电而且 质量可靠,符合这种发展趋势。 ( 2 ) 良好的网络支持1 6 1 f 刀。嵌入式系统要求配备标准的一种或多种网络通信 武汉理工大学硕士学位论文 接口,如e t h e r n e t 、u s b 、s e r i a l 、c a n 、b l u e t o o t h 等,因此嵌入式操作系统需 要提供相应的设备驱动程序。e c o s 满足其中大部分设备,由于可以容纳第三方 软件,开发者也可以开发出适合实际应用的设备驱动程序。 ( 3 ) 支持小型电子设备实现小尺寸、微功耗和低成本 7 1 。e c o s 只占用几十 到几百k b 的内存,而且是开放源代码的免费软件,无版权费用,这为嵌入式产 品在硬件和软件上降低了成本。 ( 4 ) 提供精巧的多媒体人机界面1 6 l 。目前e c o s 自身还不支持g u i ,但可以 兼容第三方软件,可以移植其他g u i 工具,如国内的m i n i g u l 就支持e c o s l 8 1 。 ( 5 ) 面向特定应用的嵌入式实时操作系统。主流的操作系统有w i n d o w sc e 、 v x w o r k s 、p s o s 、n u d e a r 、嵌入式l i n u x 、p a l mo s 等,这些操作系统其共同的 缺点是缺乏应用的高效性,网络连接功能较差,系统对应用程序开发支持相对较 弱等。因此需要面向应用的、专用特制的嵌入式操作系统。随着微内核的操作系 统出现,操作系统的模块化和灵活性得到很大的提高,并随之出现了特定应用的 嵌入式实时操作系统( a p p l i c a t i o ns p e c i f i co p e r a t i n gs y s t e m s ,a s o s ) ,它是指面 向应用的、能够定制或者可以重新配置以满足特定的应用或应用领域的操作系 统。e c o s 的高度可配置功能,能够根据不同的应用配置相应的系统,具有一定 的a s o s 功能。 1 4 2 本文的选题意义及内容 ( 1 ) 本文的选题意义: e c o s 提供了广泛的硬件支持和强大完整的基本功能及其高度可配置性、可 扩展性、可移植和兼容性;完善而且免费的开发工具:符合嵌入式系统的发展方 向。 e c o s 的这些特色,已引起越来越多的关注,使用e c o s 开发其新一代嵌入式 产品成为嵌入式操作系统的研究热点。 本文的主要贡献和创新之处有:以设计基于e c o s 的u p s 监控管理系统为背 景,将p i d 控制技术与最早时限优先( e a r l i e s t d e a d l i n ef i r s t ,e d f ) 调度算法相 结合,提出了p i d 反馈控制e d f 调度算法( p i d f c e d f ) ,并用此调度算法对 e c o s 的调度器进行完善和优化,论述了调度器扩展的原理及软件实现方法;详 细论述了e c o s 的硬件抽象层原理、平台移植与以太网驱动程序设计方法;将e c o s 应用到u p s 监控管理中,采用b s ( 浏览器朋罡务器) 的体系结构,提出了软硬 件解决方案,实现了u p s 智能监控管理系统的基本功能。 ( 2 ) 本文的内容: 1 对e c o s 系统内核的主要部分:调度机制、内存分配、中断处理、例外处 理等进行了论述。同时,e c o s 与r t l i n u x 、t ac o s 一1 i 、r t e m s 等优秀的源码 武汉理| = 大学硕士学位论文 公开的实时操作系统在内核方面的性能进行了分析比较。 2 本文基于e c o s 可以选择位图调度和多级队列调度等两种基于固定优先级 的线程调度策略,对e c o s 的调度算法进行优化,将最早时限优先( e a r l i e s t d e a d l i n ef i r s t ,e d f ) 调度算法与p i d 控制器相结合,实现p i d 反馈控制e d f 调度算法( p i d f c e d f ) ,提出与e c o s 调度器实现接口的方法。 3 针对在新的目标平台上运行e c o s 时,需要对其底层的硬件抽象层( h a l ) 进行移植并编写不支持的硬件驱动程序,本文将详细探讨硬件抽象层原理、操作 系统移植、设备驱动程序设计的具体过程和方法。 4 将e c o s 应用到u p s ( 不间断电源) 远程监控管理系统中,设计了以a r m ( $ 3 c 4 5 1 0 b ) 为核心的硬件开发平台,并重点分析了e c o s 嵌入式w e b 服务器 及应用软件设计流程与方法,成功实现u p s 的智能监控与管理。 武汉理工大学硕士学位论文 第二章e c o s 内核及对比分析 2 ,1 e c o s 内核分析 e c o s 的核心部分是功能强大、灵活且可配置的内核。内核的模块化结构和 可配置性保证某些模块进行配置和更换时不会对内核的其余部分造成影响。e c o s 内核主要功能包括: 1 ) 调度算法及其选择配置 2 ) 内存分配算法及其配置、c a c h e 控制 3 ) 一组丰富的同步原语 4 ) 支持对称多处理( s m p ) 5 ) 中断处理和例外处理 6 ) 定时器、计数器和告警机制 7 ) 多线程及g d b 调试 2 1 1 系统内核 内核和内存分配分别是一个可选的包。当开发一个单线程的应用程序时,就 不需要内核的支持,r e d b o o t 就是一个例子。无内核的单线程采用一种循环查询 方式,连续不停地对所有设备进行检查,当有i 0 事件发生时再进行相应地处理。 当应用较为复杂需要使用多线程机制时,就必须使用内核。事实上,e c o s 的许 多高级软件包都使用了多线程机制。如果应用程序使用了含多线程的软件包,则 内核包是必需的。 大多数操作系统通常在内核中就包含了内存分配机制和设备驱动程序,而 e c o s 为了支持系统的可配置性,采用一个单独的包来支持对内存的分配,对每 一个设备驱动程序都由个单独的包来支持。这种方式的采用使得用户可以根据 具体应用的需要,通过配置工具对各种包进行组合,为系统提供最大限度上的可 配置能力。 内核所提供的功能有两种实现方式:应用程序和其他软件包宜接调用内核 提供的a p i 接口函数,内核提供了完整的c 函数作为其a p i ,如c y g _ t h r e a d _ c r e a t 、 c y g 、等。使用 兼容层提供的标准_ s c h e d u l e r l o c k c y g , m e m p o o lf i x c r e a te c o s 函数,如p o s i x 和ui t r o n 。应用程序可以调用一些可以实现e c o s 基本功能的 标准函数,如p o s i x 的p t l l r e a d i c r e a t 、p t h r e a d _ m u t e x _ l o c k 、p t h r e a d _ c o n d _ w a i t 等。在e c o s 应用程序中使用标准函数更容易实现在其他环境下开发的软件的可 重用t 陛。 武汉理工大学硕士学位论文 内核的可选择性和可配置性也存在一些缺点,它增加了设备驱动程序的复杂 性,不管内核是否存在,设备驱动程序都应能正常工作。有内核的多线程环境和 无内核的单线程环境下的中断处理方法不同。为了实现在这两种环境下都能币确 处理中断,硬件抽象层的公共h a l 包提供了一些驱动程序a p i 函数,如 c y g d r y i n t e r r u p ( ,当系统有内核时,这些函数映射到等同的内核函_ a t t a c h 0 a p i 数,如c y g _ i n t e r r u p t _ a t t a c h 。当系统没有内核时,公共h a l 包将直接实现这些驱 动程序a p i 函数。 内核提供了许多配置选项来控制应用所需要的功能,而各兼容包需要对这些 选项进行特殊的设置。不同的兼容包在同一配置中可能引起各样的内核内部选项 冲突,因此同一个配置不能同时使用两个不同的兼容包。另外,由于内核配置的 多样性,内核自己的a p l 只是一种不精确的实现。 2 1 2 内存分配 在a n s ic 中可以直接调用m a l l o c 0 和f r e o o i 丙个函数动态地分配内存和释放 内存:但在嵌入式实时操作系统中,直接调用这两个函数是危险的,因为多次调 用,会把原来很大的一块连续内存区域逐渐分割成许多非常小而且彼此不相连的 内存块,即内存碎片。由于内存碎片的大量存在,使得程序到后来连一段很小的 连续内存都分配不到。另外由于内存管理算法上的原因,m a u o c o 和f r e e o i 函数的 执行时间是不确定的。 在嵌入式系统中,静态分配内存是较好的常用方法,即分配和释放的内存块 长度是固定的。如在1 t c o s i i 中,使用函数o s m e m c r e a t 0 仓f j 建固定长度的内存 分区,函数o s m e m g e t 0 分配固定长度的内存块,函数o s m e m p u t 0 释放内存块。 e c o s 采用基于内存池的动态内存分配机制。e c o s 提供两种可供选择的内存 模板c y gm e m p o o l t 和c y g _ m e m p o l t 2 。每种内存模板又提供两种可选的内存池: 变长内存池( v a r i a b l es i z em e m o r yp 0 0 1 ) ,根据申请的大小进行分配;定长 内存池( f i x e ds i z em e m o r yp 0 0 1 ) ,以固定大小的块为单位进行分配。变长内存池 使用链表进行管理,定长内存池使用位图进行管理。 2 1 3 中断处理 中断是外设引起的异步事件,随时可以发生,可能与当前正在运行的线程没 有任何联系。中断处理是嵌入式系统设计最为复杂的一部分,这很大程度上是由 于中断没有被很好的定义。中断向量的定义、中断传递和中断屏蔽都与特定的 c p u 结构有关。 e c o s 的中断处理分为两个层次。与中断向量直接相连的是中断服务程序 i s r ,它对中断进行尽可能的快速处理。i s r 只能使用少量的内核调用,不能使 武汉理工大学硕士学位论文 用唤醒线程的调用。当i s r 检测到f o 操作已经完成需要唤醒线程的时候,它引 起中断的另一层处理程序的运行,这一层中断处理程序员称为滞后中断服务程序 d s r 。d s r 可以进行更多的内核调用。 e c o s 采用一个通用的中断处理机制,它具有足够多的函数钩子用于放置与 硬件结构相关的程序代码。 当中断发生时,首先将进入向量服务程序v s r 。v s r 是一小段程序,一般 是一段汇编程序,e c o s 提供了默认的v s r 。默认v s r 的运行独立于处理该中断 的i s r ,并为i s r 建立c 语言环境。在某些应用中,有可能需要替换e c o s 的默 认v s r 而直接对中断进行处理。 2 1 4 例外处理 例外是线程运行时引起的同步事件。例外包括硬件例外( 如内存出错、除零、 非法指令等) 和软件例外( 如超时) 。实时系统中采用标准c c + + 的例外处理机 制代价太高,而且有些例外得不到正确处理,一般不采用。 e c o s 采用调用例外处理函数的方法,这是处理例外最简单和最灵活的方式。 e c o s 例外处理函数接受一个数据参数,这个参数注册到该处理函数并指向 相关的线程信息。它同时接受一个例外号和一个错误码,例外号用来确认例外原 因,而错误码则包含处理这个例外时需要的额外信息,从这个例外函数返回可以 使线程继续运行。 例外处理函数可以是全局的,也可以是以线程为单位的,或者两者兼顾。可 以根据需要选择。与中断处理一样,不同平台的例外处理有很大的区别,因此例 外处理程序的具体实现位于硬件抽象层h a l 内。对于每一个例外都分配一个与 其对应的向量,即例外向量。当系统调用涉及例外处理程序时,将使用该例外向 量。例外的发生在很大程度上取决于系统硬件,尤其是处理器。处理器的相关文 档有详细的例外说明,硬件抽象层中的头文件h a l 中有例外的相关定义。_intrh 2 1 5 计数器与时钟 e c o s 提供约定时机制包括计数器( c o u n t e r ) 、时钟( c 1 0 c k ) 、告警器( a l a r m ) 和定时器( t i m e r ) 。计数器对某些特殊事件进行单调递增技术。时钟是一个对具 有一定周期性的时间滴答进行计数的计数器。告警器是在计数器的基础上增加一 个产生提示功能的机制,或者基于计数器的值产生具有周期的事件。定时器是一 个简单的附加在时钟上面的告警器。 2 1 6s m p 支持 e c o s 支持对称多处理器( s m p ) 系统,但只对某些体系结构和平台爿提供 支持,所以这种支持具有一定的限制。 武汉理下大学硕士学位论文 2 2 e o o s 与其他实时系统内核性能分析与比较 e c o s 与r t l i n u x 、uc o s - i i 、r t e m s 都是优秀的源码公开的实时操作系 统,它们在多任务调度机制、同步与通信机制、实时性等方面各有千秋。通过对 它们内核的各自特点和性能进行分析和比较,可以看出e c o s 在内核方面的优点 和缺点。 2 2 1r t l in u x 、uc o s i i 、r t e m s 综述 z z 1 1r t l i n u x r t 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 l i n u x 满足部分p o s i x1 0 0 3 1 3a p i 标准,其编程方法是将有实时要求的 任务放到实时进程或中断里进行处理,把没有实时要求的交给标准l i n u x 。使得 r t l i n u x 在保证实时特性得同时还可以利用l i n u x 丰富的资源。 r t l i n u x 支持的目标处理器包括:x 8 6 、p o w c r p c 、a l p h a 和m i p s ,开发环 境采用l i n u x 平台下的g n u 系列开发调试工具。 2 2 1 2r t e m s r t e m s 实时操作系统一直是美国军方采用的操作系统,在智能规划算法、 科学计算、武器系统控制等方面的实时多任务操作系统。主要特点是可移植、高 性能、高可靠性。该操作系统的实时核心执行软件可分为核心执行、分布执行和 系统执行三个部分。其中,核心执行主要负责管理硬件和软件资源,为应用软件 的运行提供实时服务;分布执行负责总线通信管理、中断管理和接口管理;系统 执行负责出错管理以及状态监督,完成系统重构功能,以提高系统的可靠性和安 全性。 r t e m s 支持p o s i x1 0 0 3 1 b 和u1 t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校园安全知识培训课件目标
- 作业人员试题及答案
- 耕地抛荒面试题及答案
- 质监系统考试试题及答案
- 台湾民法考试题及答案
- 校园保安反恐防暴安全知识培训课
- 政工人员试题及答案
- 函数高考试题及答案
- 2025年贵阳市城乡建设学校外聘教师招聘考试试题(含答案)
- 医院和住院环境医学必看试题带答案
- 业务跟单培训
- 河北省唐山市路北区2023-2024学年八年级下学期期末数学试题
- DL-T-5161.13-2018电气装置安装工程质量检验及评定规程第13部分:电力变流设备施工质量检验
- 安全顾问聘请协议
- 糖尿病酮症酸中毒的护理课件
- 设备材料进场报验单
- 班组长计划管理能力考试题库-上(选择题)
- (完整版)《机械制造工艺基础》教案
- 小学四年级数学口算题(每页60道直接打印).文档
- 诱思探究理论
- 铣床日常点检保养记录表
评论
0/150
提交评论