4种实时操作系统实时性的分析对比

合集下载

SylixOS大型实时操作系统实时性分析

SylixOS大型实时操作系统实时性分析

S y l i x O S大型实时操作系统实时性分析李孝成(南京翼辉信息技术有限公司,南京210000)摘要:S y l i x O S是一款支持多架构的64位国产原创操作系统,支持S M P与AM P多核架构,系统内核功能丰富,系统提供丰富的文件系统支持㊁完善的网络协议栈支持与多种图形显示引擎支持㊂S y l i x O S作为一款大型R T O S,在实时性方面做了很多有益的设计,但是,系统的实时性与使用过程中的众多因素相关,本文对影响实时性的因素进行分析,并给出优化方法,最后给出S y l i x O S和V x W o r k s的测试对比㊂关键词:S y l i x O S;S M P;大型系统;实时性;性能优化策略中图分类号:T P316文献标识码:AR e a l-t i m e P e r f o r m a n c e A n a l y s i s o f S y l i x O S L a r g e R e a l-t i m e O p e r a t i n g S y s t e mL i X i a o c h e n g(N a n j i n g A C O I N F O T e c h n o l o g y C o.,L t d.,N a n j i n g210000,C h i n a)A b s t r a c t:S y l i x O S i s a64b i t d o m e s t i c o r i g i n a l o p e r a t i n g s y s t e m s u p p o r t i n g m u l t i a r c h i t e c t u r e,s u p p o r t i n g S M P a n d AM P m u l t i-c o r e a r-c h i t e c t u r e,w i t h r i c h k e r n e l f u n c t i o n s.T h e s y s t e m p r o v i d e s r i c h f i l e s y s t e m s u p p o r t,p e r f e c t n e t w o r k p r o t o c o l s t a c k s u p p o r t a n d a v a r i e t y o f g r a p h i c d i s p l a y e n g i n e s u p p o r t.S y l i x O S i s a l a r g e-s c a l e R T O S,w h i c h h a s d o n e a l o t o f u s e f u l d e s i g n i n r e a l-t i m e,b u t t h e r e a l-t i m e p e r-f o r m a n c e o f t h e s y s t e m a n d t h e d i f f i c u l t i e s i n t h e p r o c e s s o f u s e a r e l i m i t e d.T h i s p a p e r a n a l y z e s t h e f a c t o r s t h a t a f f e c t t h e r e a l-t i m e p e r-f o r m a n c e,a n d g i v e s t h e o p t i m i z a t i o n m e t h o d,a n d t h e n g i v e s t h e t e s t c o m p a r i s o n b e t w e e n S y l i x O S a n d V x W o r k s.K e y w o r d s:S y l i x O S;S M P;l a r g e s y s t e m;r e a l-t i m e p e r f o r m a n c e;p e r f o r m a n c e o p t i m i z a t i o n s t r a t e g y0引言S y l i x O S是嵌入式通用型操作系统,该系统开发自2006年,具备大型操作系统的特点:内核代码百万行以上,支持多种硬件架构,动态装载应用程序,支持虚拟进程,兼容P O S I X标准规范,支持标准设备管理模型,支持丰富的文件系统,支持完善的网络协议栈,支持多种图形引擎,可以快捷帮助用户实现图形开发需求㊂目前已经应用于防务㊁航空㊁航天㊁轨道交通㊁电力㊁工控㊁汽车电子等多种领域的产品上,可替换国外V x W o r k s和Q N X方案㊂S y l i x O S适用于高性能㊁高可靠㊁高安全㊁业务场景复杂的设备,通常运行在高性能处理器平台,典型应用包括弹载操作系统平台㊁星载操作系统给平台㊁列车安全计算机㊁电力继保设备㊁机器人控制器㊁数控机床等㊂使用S y l i x O S系统的产品很多时候都需要优秀的实时性支持,影响实时性的因素很多,除了内核设计本身支持优秀的实时性外,系统也提供很多方法可用来优化实时性,本文就影响实时性的因素与优化方式进行一些分析,并给出S y l i x O S的优化方法㊂1实时性影响因素作为R T O S考量的一个重要指标,实时性一般体现在任务切换实时性㊁周期任务抖动实时性㊁中断响应实时性方面,这些实时性的影响因素与调度算法㊁调度时机㊁中断屏蔽㊁多核通知㊁c a c h e保持都有一定关系,下面就这几个方面进行分析㊂当一个事件产生时,无论何种情况下都能在确定的时间得到响应,这是实时性的定义㊂通过这个定义能够得到三个信息:第一个是事件产生进入调度的时机是否及时,第二个是调度任务选取时间是否确定,第三个是任务切换时间是否确定㊂这三个因素是影响实时性是否确定的核心因素㊂1.1调度时机分析系统产生事件一般分为软件事件和中断事件㊂软件事件为应用程序在执行过程中调用相关系统接口给另一个任务发送消息或同步,此时影响软件事件响应的因素包括内核是否可被抢占㊂中断事件是指硬件载体产生了一个异常,该异常被中断服务函数捕获,然后投递消息给响应的处理任务,此时的影响因素包括系统最大关中断时长以及中断是否可以被抢占㊂1.2 调度任务选取当事件产生并进入到内核进行调度时,需要确定任务选取的时间㊂在多核环境下,还需要确定当前是否有任务在其他核上处于更高优先级,因此调度任务的选取与通知和多核有关㊂1.3 任务切换当某个核确定需要进行任务上下文切换后,会通过任务I D 获取到任务控制块,然后通过恢复上下文来执行新的任务,该环节影响的因素为新任务执行的c a c h e 抖动㊂2 S yl i x O S 实时性设计2.1 内核设计S yl i x O S 具有良好的架构分层,从下至上分为A R C H 层㊁内核层㊁设备驱动框架层㊁I /O 子系统㊁动态加载模块与接口层,系统整体架构图如图1所示㊂图1 S yl i x O S 架构图 从图1中可以看出,S yl i x O S 架构庞大,组件众多,功能丰富㊂内核采用抢占式设计,因此在执行内核态任务的时候可以及时响应用户的高优先级任务㊂同时在进入内核等相关原子区域操作的时候,采用最小粒度的关中断处理,最大程度上减少软件层面对中断响应的影响㊂S y l i x O S 采用了b i t m a p 算法进行高任务优先级的选择,该算法满足O (1),每次进入调度的时候,无论任务多寡,均可在指定的时间内完成高优先级任务的选择㊂2.2 多核相关设计S y l i x O S 支持多核S M P 运行,在多核模式下,S yl i x O S 为了提高任务实时性,在多核架构中为每个核增加了候选表的概念,若候选表不为空,有一个优先级高于 候选表中线程 的线程就绪时,会产生优先级卷绕,并将C P U 的优先级卷绕标志位设置为1,S yl i x O S 线程调度流程如图2所示㊂采用候选表与优先级卷绕模式,可以在一个调度产生时,及时获取到当前要调度到的任务在其他核内是否处于高优先级,如果发现要调度的任务优先级不高于本核㊁但高于其他核,就会向目标核发起一个核间中断,然后触发另外一个核进行一次调度㊂3 S yl i x O S 优化方法产品的实时性一般由O S 实时性+B S P 实时性+应用程序相关优化手段来实现,S y l i x O S 本身在设计的时候已经进行了众多优化设计,下面将给出一些工程实践中常用的实时性优化方法㊂3.1 打开中断嵌套现代处理器中,不同的中断源会产生不同等级的中断,而在实时产品的设计过程中,我们需要保障高优先级中断能够在中断产生后及时得到响应㊂一般情况下,中断进入中断服务程序后系统中断是关闭的,为了解决这个问题,S yl i x O S 支持中断嵌套功能,通过调用a r c h I n t H a n d l e图2 S yl i x O S 任务调度流程图来打开中断嵌套,a r c h I n t H a n d l e 的函数描述如表1所列㊂打开中断嵌套系统支持后,用户在B S P 编写对应的中断服务程序即可㊂表1 中断嵌套打开函数函数名参数说明a r c h I n t H a n d l e(u l V e c t o r ,b P r e e m pt i v e )V e c t o r:中断号b P r e e m pt i v e :是否支持嵌套3.2 缩短中断服务程序时间众所周知,中断服务程序在执行的时候,系统中断是关闭的,长时间的中断关闭会导致系统响应延迟,实时性下降㊂因此,在设计驱动服务程序时,需要使用上下半段的方法来拆分中断服务程序,从而缩短中断关闭时间㊁提高系统实时性㊂中断服务程序的拆分原则如下:一般把和业务逻辑相关的数据处理放到任务中,中断服务程序负责处理数据获取㊁清理现场,然后通过消息机制通知任务处理业务逻辑,从而实现缩短中断服务程序的目的㊂具体示意图如图3图3 中断上下半段处理示意图所示㊂3.3 对相关的一组任务进行亲核性绑定在S yl i x O S 多核S M P 模式下,如果一个任务激活了另一个任务,且另一个任务运行在另外一个核上,那么会多触发一次核间中断,这种情况下可以通过分析业务逻辑关系把一组有直接唤醒关系的任务或者中断绑定在同一个核上,这样就能解决多触发一次核间调度的问题㊂在S yl i x O S 上,提供两种方式来进行任务与核的绑定㊂S y l i x O S 支持通过S h e l l 命令的方式进行任务与核的绑定,S h e l l 命令为a f f i n i t y,该种方式一般为调试时使用㊂还可以通过调用A P I _T h r e a d S e t A f f i n i t y 函数进行绑定设置,该种方式主要用在任务启动自动绑定的场景,A P I 描述如表2所列㊂表2 线程绑核函数说明函数名参数说明A P I _T h r e a d S e t A f f i n i t y (u l I d ,s t S i z e ,p c p u s e t )u l I d :线程I Ds t S i z e :C P U 掩码集内存大小p c pu s e t :C P U 掩码此外,S yl i x O S 还支持通过设置C P U 亲核性排他绑定,实现一个核只运行一个指定的任务㊂该种情况可以实现任务的及时响应以及c a c h e 热度的保持,可通过S h e l l 命令c p u a f f i n i t y 对系统某个核进行排他性绑定设置㊂4 性能对比测试在x 86多核环境下S yl i x O S 和V x W o r k s 做过一系列测试对比,测试条目包括m a l l o c 接口耗时㊁自旋锁接口耗时㊁二进制信号量投递耗时㊁计数信号量投递耗时㊁互斥信号量投递耗时㊁就绪态到运行态耗时㊁延迟态到运行态㊁悬置态到运行态以及通过Q P e r f 进行的Q T 图形相关测试㊂测试结果整体来看,S y l i x O S 性能与V x W o r k s 基本相当,测试环境如表3所列㊂测试对比数据比较多,因篇幅有限,挑选2组操作系统关键数据进行展示,如表4和表5所列㊂表3 测试环境测试环境C P U :I n t e l C o r e I 72655L E C P U @2.20G H z内存:4G D D R 3D D R 3系统版本S yl i x O S (版本1.7.8)V x W o r k s (版本6.8)表4 S yl i x O S 和V x W o r k s 多核测试结果(1)二进制信号量耗时/μs V x W o r k s S yl i x O S 原生接口均值最大最小均值最大最小绑核S e m G i v e 1.471.691.270.331.370.30S e m T a k e 0.881.710.840.410.800.39不绑核S e m G i v e1.411.601.360.502.120.44S e m T a k e0.881.090.850.513.490.44表5 S yl i x O S 和V x W o r k s 多核测试结果(2)悬置ң运行耗时/μs V x W o r k s S y l i x O S 原生接口均值最大最小均值最大最小绑核t a s kS u s p e n d ңt a s k R u n 1.752.371.640.871.580.80不绑核t a s k S u s p e n d ңt a s k R u n1.692.131.553.987.821.62通过上述对比可以看出,在R T O S 核心参数对比中,在信号量投递上多核性能基本和V x W o r k s 相当,在任务切换上多核性能要略差于V x W o r k s ,但通过绑核操作,性能要优于V x W o r k s㊂5 结 语S yl i x O S 以其开放的姿态㊁丰富的功能㊁优秀的性能,已得到广大客户的认可,广泛应用在军工防务㊁电力工控㊁轨道交通等领域,实时性㊁稳定性和通用性均得到进一步验证㊂参考文献[1]塔嫩鲍姆.操作系统设计与实现[M ].陈渝,等译.北京:电子工业出版社,2007.[2]牛建伟,刘禹.嵌入式S yl i x O S 实践开发教程[M ].北京:北京航空航天大学出版社,2017.[3]田泽.嵌入式系统开发与应用[M ].北京:北京航空航天大学出版社,2005.[4]腾艳平.计算机操作系统[M ].哈尔滨:哈尔滨工业大学出版社,2008.李孝成(研发副总),主要研究方向为实时操作系统及边缘计算㊂通信作者:李孝成,l i x i a o c h e n g@a c o i n f o .c o m ㊂(责任编辑:芦潇静 收稿日期:2021-02-08)I m a gi n a t i o n G P U 助赛昉科技打造高性能星光R I S C V A I 单板计算机I m a g i n a t i o n T e c h n o l o gi e s 宣布:业界领先的R I S C V 处理器㊁平台及解决方案提供商赛昉科技有限公司(S t a r F i v e ,简称 赛昉科技 )授权采用了I m a gi n a t i o n 的B 系列图形处理器(G P U )知识产权(I P ),以支持其最新R I S C V 单板计算机(S B C )的开发㊂I -m a g i n a t i o n 的G P U 在设计之初就考虑到能够与所有处理器架构协同工作,本次两家企业的合作充分展现了I m a gi n a t i o n 对开放且发展迅猛的R I S C V 生态的良好支持㊂赛昉科技将在星光人工智能(A I )单板计算机的后续量产版本上加入I m a gi n a t i o n G P U ,以添加强大㊁灵活的图形处理性能,使该单板计算机的功能更加完善㊂星光单板计算机可为业界所追求的高性价比㊁多用途的R I S C V 开发硬件提供十分理想的解决方案㊂星光 是全球首款用于边缘计算的㊁为L i n u x 操作系统量身定制的R I S C V A I 单板计算机,它采用了赛昉科技自主研发的人工智能视觉处理芯片惊鸿7100,其多核R I S C V 处理器运算主频高达1.5G H z ㊂星光不仅配有自研的N N E 和I S P ,还搭载了V D S P 及视频编解码,具备当今台式机的所有可扩展性功能,具有体积小巧㊁价格低廉㊁噪音低等特点㊂凭借L i n u x 与R I S C V 的融合,星光A I 单板计算机可为工业机械㊁数据中心㊁A I ㊁边缘计算等领域的产品和项目开发提供强有力的软硬件支持,缩短项目开发周期,加速产品上市㊂赛昉科技本次选用的I m a g i n a t i o n B X E 432G P U I P ,是I m a g i n a t i o n 最新一代I MG B 系列G P U 中的一款内核,可以在性能㊁尺寸㊁成本等方面为赛昉科技的单板计算机提供充足优势㊂B 系列是I m a gi n a t i o n G P U 产品的又一次重要演进,凭借先进的多核架构,其可提供高达6T F L O P S (每秒万亿次浮点运算)的计算能力,同时相比前几代产品,功耗降低多达30%,面积缩减了25%,带宽需求降低35%,且填充率比竞品I P 内核高2.5倍㊂B 系列G P U 共拥有多达33种不同的配置,为移动设备㊁消费类设备㊁桌面端㊁服务器㊁物联网㊁数字电视(D T V )㊁汽车等多个市场提供了极为广泛的选择㊂赛昉科技C E O 徐滔表示: 我们很高兴与I m a gi n a t i o n 进行合作,双方对R I S C V 生态的坚定支持是合作成功的重要保障㊂I -m a gi n a t i o n 的G P U 拥有出色的P P A (性能㊁功耗㊁面积)特性,可以帮助我们在优化成本的同时提供强大的功能㊂我们期待未来可以和I m a gi n a t i o n 展开更多的战略性合作,利用双方各自的技术和产品优势形成合力,共同打造更加完备的处理器生态,并助推R I S C V 技术持续向前发展㊂。

Windows的系统性能测试工具

Windows的系统性能测试工具

Windows的系统性能测试工具Windows操作系统自带了一些实用的系统性能测试工具,这些工具可以帮助我们评估和监测系统的性能表现。

本文将介绍几个常用的Windows系统性能测试工具,并说明它们的使用方法和功能特点。

1. 任务管理器(Task Manager)任务管理器是Windows系统的一个基本工具,它可以用于监测和管理系统的各项任务和进程。

在性能选项卡中,任务管理器显示了当前系统的CPU使用率、内存占用、磁盘活动等信息,可以帮助我们实时监测系统的性能表现。

此外,任务管理器还支持对进程的终止和优先级调整,方便我们管理系统资源。

2. 资源监视器(Resource Monitor)资源监视器是一个强大的系统性能监测工具,它提供了更详细和全面的性能数据和图表。

打开资源监视器后,我们可以看到CPU、内存、磁盘和网络等方面的详细数据,并可按进程进行分类查看。

资源监视器还能帮助我们查找系统性能瓶颈和资源占用过高的进程,以便进行相应的优化和调整。

3. 性能监视器(Performance Monitor)性能监视器是Windows系统的高级性能评估工具,它能够记录和分析系统的性能数据,并生成相应的报告。

在性能监视器中,我们可以选择不同的性能计数器来监测各个方面的性能指标,如CPU利用率、内存使用情况、磁盘读写速度等。

通过性能监视器,我们可以深入了解系统的性能状况,并进行性能对比和优化。

4. DirectX诊断工具(DirectX Diagnostic Tool)DirectX诊断工具是一个用于检测和诊断系统DirectX功能的实用工具。

它可以检测显卡的驱动情况、音频设备的功能、DirectX版本等,并提供了详细的硬件信息和性能测试报告。

通过DirectX诊断工具,我们可以判断系统的图形和音频性能是否正常,并进行相应的配置和调整。

5. Windows内存诊断工具(Windows Memory Diagnostic)Windows内存诊断工具是一个专门用于检测和修复系统内存问题的工具。

实时操作系统包括硬实时和软实时的区别

实时操作系统包括硬实时和软实时的区别

一.什么是真正的实时操作系统做嵌入式系统开发有一段时间了,做过用于手机平台的嵌入式Linux,也接触过用于交换机、媒体网关平台的VxWorks,实际应用后回过头来看理论,才发现自己理解的肤浅,也发现CSDN 上好多同学们都对实时、嵌入式这些概念似懂非懂,毕竟如果不做类似的产品,平时接触的机会很少,即使做嵌入式产品开发,基本也是只管调用Platformteam封装好的API。

所以在此总结一下这些概念,加深自己的理解,同时也给新手入门,欢迎大家拍砖,争取写个连载,本文先总结一下实时的概念,什么是真正的实时操作系统?1. 首先说一下实时的定义及要求:参见 Donal Gillies 在 Realtime Computing FAQ 中提出定义:实时系统指系统的计算正确性不仅取决于计算的逻辑正确性,还取决于产生结果的时间。

如果未满足系统的时间约束,则认为系统失效。

一个实时操作系统面对变化的负载(从最小到最坏的情况)时必须确定性地保证满足时间要求。

请注意,必须要满足确定性,而不是要求速度足够快!例如,如果使用足够强大的CPU,Windows在CPU空闲时可以提供非常短的典型中断响应,但是,当某些后台任务正在运行时,有时候响应会变得非常漫长,以至于某一个简单的读取文件的任务会长时间无响应,甚至直接挂死。

这是一个基本的问题:并不是Windows不够快或效率不够高,而是因为它不能提供确定性,所以,Windows不是一个实时操作系统。

根据实际应用,可以选择采用硬实时操作系统或软实时操作系统,硬实时当然比软实时好,但是,如果你的公司正在准备开发一款商用软件,那请你注意了,业界公认比较好的VxWorks(WindRiver开发),会花光你本来就很少的银子,而软实时的操作系统,如某些实时Linux,一般是开源免费的,我们公司本来的产品就是基于VxWorks的,现在业界都在CostReduction,为了响应号召,正在调研如何把平台换成免费的嵌入式实时Linux。

四种实时操作系统的分析比较

四种实时操作系统的分析比较

本文对四种实时操作系统(RTOS)特性进行分析和比较。

它们是:Lynx实时系统公司的LynxOS、QNX软件系统有限公司的QNX以及两种具有代表性的实时Linux--新墨西哥工学院的RT-Linux和堪萨斯大学的KURT-Linux。

近年来,实时操作系统在多媒体通信、在线事务处理、生产过程控制、交通控制等各个领域得到广泛的应用,因而越来越引起人们的重视。

1、基本特征概述QNX是一个分布式、嵌入式、可规模扩展的实时操作系统。

它遵循POSIX.1、(程序接口)和POSIX.2(Shell和工具)、部分遵循POSIX.1b(实时扩展)。

它最早开发于1980年,到现在已相当成熟。

LynxOS是一个分布式、嵌入式、可规模扩展的实时操作系统,它遵循POSIX.1a、POSIX.1b和POSIX.1c标准。

它最早开发于1988年。

RT-Linux是一个嵌入式硬实时操作系统,它部分支持POSIX.1b标准。

KURT-Linux不是为嵌入式应用设计的,不同于硬(hard)实时/软(soft)实时应用,他们提出"严格(firm)"实时应用的概念,如一些多媒体应用和ATM网络应用,KURT是为这样一些应用设计的"严格的"实时系统。

2、体系结构异同实时系统的实现多为微内核体系结构,这使得核心小巧而可靠,易于ROM固化,并可模块化扩展。

微内核结构系统中,OS服务模块在独立的地址空间运行,所以,不同模块的内存错误便被隔离开来。

但它也有弱点,进程间通信和上下文切换的开销大大增加。

相对于大型集成化内核系统来说,它必须靠更多地进行系统调用来完成相同的任务。

QNX是一个微内核实时操作系统,其核心仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。

所有其它OS服务,都实现为协作的用户进程,因此QNX核心非常小巧(QNX4.x大约为12Kb)而且运行速度极快。

信创主流操作系统选型对比测试分析

信创主流操作系统选型对比测试分析

一.信创操作系统介绍国内本土操作系统主要以Linux为基础进行二次开发为主,目前国内信创类服务器操作系统主要分为开源社区版和商业版两大类。

开源社区版主要以欧拉OpenEuler、龙蜥OpenAnolins、OpenCloud等,商业版主要以麒麟KylinOS、统信UOS、其他(中科方德Delix、红旗)等为代表,以下表格为其主要发行版本对比:二.信创主流操作系统对比1. 当前国产操作系统发行周期对比2. 各信创操作系统功能对比3. 各信创操作系统性能对比基于Intel x86测试测试主机为浪潮NF5270M4 ,CPU 为Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz 24 核,内存为DDR4-2400 MT/s Samsung 256G ,系统盘为rpm源替换->包替换->内核重引导->重启->验证5)迁移后观测通过监控工具观测主机负载、运行状态等,以对比迁移前后异常。

5. 麒麟、统信OS生态对比6. 影响操作系统的因素分享一下当前主流信创操作系统的特性情况:▪业务连续性统信、麒麟、龙晰、欧拉都具备较为活跃的社区、技术实力,均具备支撑业务系统使用及演进的能力。

▪场景适配度当前麒麟、欧拉在鲲鹏ARM生态支持较优,在多核生态软件方面性能表现好,选型时可以在不同的场景下开展更多针对自身业务场景的测试对比。

▪信创要求现阶段欧拉、麒麟自主可控性更高,但生态尚未成熟,迁移难度较大;统信、龙晰的自主可控稍弱,但迁移更方便,从长远考量,逐渐应过渡至原生国产信创的开源/商业OS。

▪稳定性、安全性、成熟度商业OS公司在安全修复能力、响应支撑成熟度方面要强于开源社区,但整体均具备24小时感知上游CVE,高危漏洞7日修复能力。

商业OS经大规模验证,开源版本验证较少。

▪成本因素开源OS 能够显著降低IT系统成本,推荐非核心业务系统优先选用成熟版本开源系统,如欧拉和龙晰。

几种主流操作系统的对比分析

几种主流操作系统的对比分析

分析Technology AnalysisI G I T C W 技术128DIGITCW2020.080 引言在计算机发展史上,出现过许多不同的操作系统。

操作系统种类比较多,很难用单一标准进行统一分类。

按照用户界面的使用环境和功能特征可分为批处理操作系统、分时操作系统,实时操作系统;按照用户应用领域来可划分为桌面操作系统、服务器操作系统、嵌入式操作系统;按照所支持的用户数目可分为单用户操作系统和多用户操作系统;单用户操作系统包括MS DOS ,Windows 95、Windows 98、Windows ME 。

从自Windows 2000之后的Windows 操作系统都是多用户操作系统。

多用户多任务操作系统有UNIX 、Linux 、Mac OS 等操作系统。

根据硬件结构,可分为网络操作系统,如 Netware 、Windows N 、UNIX 、Linux 、Mac OS 网络操作系统;现最为流行的操作系统有Windows 、 Linux 、Mac OS 等。

1 几种操作系统的特点1.1 W indows 操作系统Windows 操作系统于1983年开始由微软公司开发,开发的最初是为用户提供基于MS-DOS 的多任务图形界面,于1985年具有图形用户界面的第一个版本Windows 1.0 问世;于1987年Windows 2.0版发布,这一版本最显著的变化是多窗口接口的形式相互重叠,但是没有引起人们的注意。

直到1990年,Windows 3.0的推出才成为一个重要的里程碑,它决定了Windows 系统在PC 领域的垄断地位,取得了压倒性的商业成功,现今流行的Windows 窗口界面的基本形式也是从Windows3.0开始基本确定的。

Windows 8于2012年10月正式发行,被应用于个人电脑和平板电脑上,广泛适用于移动触控电子设备,如平板电脑、触屏手机等。

如今Windows 10可谓是现在最流行的版本了。

实时操作系统BSP的分析与实现

实时操作系统BSP的分析与实现

实时操作系统BSP的分析与实现引言近年来,实时操作系统在网络通信、在线事务处理、生产过程控制、交通控制等各个领域得到广泛的应用,并越来越引起人们的重视. 目前,国内使用的RTOS主要有VxWorks和PSOS,还有Nuclear、QNX、WinCE、嵌入式Linux等.为了方便用户在自己定义的用户板上进行开发,RTOS提供了板级支持包(BSP) ,提供了支持标准硬件板和用户硬件板的机制. 每个BSP提供了一种软件模板,其中既包括设备驱动程序的抽象结构代码(Abstracter Architecture code) 也包括为具体硬件设备所需的底层系统功能代码,不同外设的设备驱动程序代码只与该设备有关,而与该设备所在的硬件板无关.RTOS以源代码形式提供了许多板级支持包以及通用模板、板级支持包是进行开发设计的关键环节,开发人员应当对它有一个清晰的认识和理解.1、实时多任务操作系统(RTOS)实时系统的实现多为微内核体系结构,如图1 所示 .这使得核心小巧而可靠,易于使用ROM固化,并方便的进行模块化扩展.微内核结构系统中,OS服务模块在独立的地址空间运行,所以,不同模块的内存错误便被隔离开来 . 但它也有弱点,进程间通信和上下文切换的开销大大增加.图1 微内核结构通过硬件抽象层,操作系统可以很容易地移植到其它硬件结构体系.当然用户需要根据自己的硬件结构写自己的硬件抽象层代码,这也就是指一般意义上BSP,这也是开发用户个人系统的关键环节.实时多任务操作系统RTOS具有下面特点:RTOS 支持多任务,并能够根据各个任务的轻重缓急设置优先级,合理地在它们之间分配CPU和各种资源的占用时间. 实时性,系统的监测、控制、通信等工作都要求实时性,一旦出现有关情况,CPU能够及时响应,因此,一个实用的RTOS 都应具有完善的中断响应机制,保证中断响应潜伏时间足够短,在规定的时间内完成需要进行的工作.2、WindRiver VxWorks操作系统RTOS VxWorks是美国的Wind river 公司开发的一种高性能的嵌入式实时操作系统. 它是目前在世界上用户数量最大的实时操作系统,具有优越的技术性能、广泛的应用软件支持和可靠的系统稳定性.VxWorks的主要性能特点有:高度可裁剪的微内核结构(microkernel),VxWorks 所需要的存储器空间大约为8KB-488KB(ROM) ,(RAM),具有极好的伸缩性.高效的多任务调度.VxWorks 支持中断驱动的优先级抢占式(preemptive scheduling)调度和时间片轮转调度(roud-robin scheduling) ,具有确定的、快速的上下文切换的能力,具有256个优先级. 快速灵活的任务间通信(intertask communication) 手段. 支持信号灯(semaphores)、消息队列(messagequeues) 、管道(pipe) 、信号(signal)和套接字(socket)等进程间通信和互斥手段. 支持诸如环形缓冲(ring buffer)和链表(link list) 等共享内存技术. VxWorks是第一个集成标准TCP/IP网络功能的实时操作系统.到目前为止,VxWorks 的TCP/IP 协议支持最新的Berkeley网络协议,IP,IGMP,GIDR,TCP,UDP,ARP;BOOTP,DNS,DHCP,TFTP;FTP,Rlogin,Telnet,Rsh. 兼容VxWorks,支持规范以及规范的基本系统调用.包括:进程原语,文件目录,I/O原语,语言服务以及目录管理.另外VxWorks 还遵循实时扩展标准,包括:异步I/O,计数信号量,消息队列,信号,内存管理(页面锁定) ,以及调度控制. 极其丰富的板级支持包,支持多种处理器板(PowerPC,MIPS,ARM,StrongARM,i960,80x86,CodeFile等). 支持MS-DOS,RT-11和RAW等文件系统和网络文件系统NFS. 灵活的启动方法,支持从ROM、本地磁盘以及网络启动.3、RTOS 板级支持包BSP 和PC 的BIOSBSP 通常用于嵌入式领域,主要指在开发嵌入式应用时系统开发商提供的各种驱动支持库. 在嵌入式领域人们对BSP 有各种不同的理解:1) 操作系统的驱动程序. 嵌入式系统提供商的权威,Wind River 公司对BSP 的理解偏向于是OS 的驱动程序(从其BSP的文档中可以看出) ,因为嵌入式系统中的各种设备的确名目繁多,因此将BSP 定位于OS 的驱动的确有一定的道理.2) 驱动程序 . 对于认为BSP 就是驱动程序的人来讲,通常接触的是嵌入式系统提供商提供的某种应用解决方案的应用系统(Total Solutio).在这种开发系统中BSP 完全有理由被认为是所有驱动程序,因为开发人员没有必要自己去开发驱动程序,而只是验证驱动程序在自己的系统中是否正确了事.3) HAL(Hardware Abstract Layer) 对于开发嵌入式OS 的人来讲,倾向于将BSP 看成是对硬件平台的抽象层(HAL)和处理器的驱动程序更恰当.实际上各种理解都只是侧重于某个方面,由于每个嵌入式系统提供商都根据自己的操作系统而提出对BSP 的不同理解,因此在涉及到BSP 的具体涵义时人们往往有一种似是而非的感觉.实际是各种理解都有其道理,但由于出发点不同,对BSP的理解都有失全面甚至有错误的地方,这也是初学者容易混淆的原因.对于进行硬件和软件开发的人员,第三种理解比较合适,后面的分析也是建立在这个基础之上的.这里通过BSP(board support package)和BIOS(basic imput and output system)的对比来说明板级支持包的功能. BSP 说的简单一点,就是一段启动代码,和计算机主板的BIOS 差不多,提供的功能却有较大差别,在通用51 等系列单片机开发的过程中,要有小段程序设置栈指针,软复位,中断屏蔽等等,可以把这段程序称为它的BSP.实时操作系统的BSP 相对复杂一点,但通常也是设置堆栈指针、建立中断向量表、初始化寄存器(控制外围器件如DRAM,EDORAM 条,控制I/O口的寄存器,片选信号等) ,配置地址空间以及系统启动方式.从图2可以看出实时操作系统的BSP 就相当于PC的BIOS. 一般来说,对不同的微处理器板以及不同的RTOS时就应该配置相应的BSP,BSP 可以是已经做好了的,不需要开发人员去关心寄存器设置的细节. 当然根据实际的要求也可以改写BSP 来加入自己的特定功能. BSP 可针对不同的硬件做不同的调整,相应于PC的BIOS,它完成对硬件的初始化工作,执行完后再将执行权交给RTOS.在BSP 中,只需要对与硬件相关的寄存器( 主要是DRAM,SDRAM,片选)及与中断相关的寄存器进行正确配置即可.BSP 程序越简单越好,能放在主程序中初始化的功能尽量不要放在其中,BSP 配置程序只要能够保证系统正常启动即可.大部分RTOS带有针对不同微处理器的BSP 程序,用户只要稍做修改即可移植到自己的开发应用中.4、板级支持包(BSP)和驱动程序(Drivers)设备驱动程序指用于处理、管理硬件控制器(Controller)的代码.设备驱动程序是建立在具体的操作系统之上,如图2,而不是某种类型的处理器(CPU)类型,这点很重要.实际运用中,人们可能选择不同的目标硬件(CPU),如PowerPC,ARM、x86,并且配置不同的操作系统.即使对于同一种类型的目标硬件,不同的操作系统也要编写不同的BSP,对于驱动程序实际上是在操作系统的层次上对不同的设备控制器所写的代码.实时操作系统的驱动程序和PC的相类似,RTOS通常在BSP 定义了一套自己的驱动程序接口,根据这些接口写相应的驱动程序.当然RTOS和硬件较紧密,灵活性较大,开发人员完全可以抛开它提供的接口自己写,这同直接在C代码中调用BIOS提供的底层功能(如BIOS中断)写程序类似.BSP 通常可以认为是基于硬件平台的 .当开发某个平台的、与硬件相关的程序时,往往不得不从设置某个寄存器的某个位开始编程.在嵌入式领域,这种情况更为明显,几乎所有的设备控制和各种协议控制都在同一个嵌入式CPU Core, 中,非常有利于对CPU Core 和设备进行抽象.如果能对CPU Core和设备的各种控制进行抽象,人们在移植OS或者开发驱动程序时就没有必要对CPU进行非常深入的了解,不必要了解某个寄存器的某个位是控制什么的,也没有必要了解怎样初始化某个控制寄存器等等.因此,BSP 是一种能为程序开发人员提供对硬件进行描述性操作的开发支撑库.描述性操作是指在控制硬件时只需知道要完成什么,而不需要知道如何去完成,每个操作都是一些单一的动作.例如:对于设置一个串口的波特率,只需要知道是哪个串口,波特率是多少,而不需要知道要写哪一个寄存器以及如何写等.在利用BSP 编写Driver时,编程人员只需要了解该Driver的初始化顺序以及初始化的内容而不需要了解初始化的具体细节就能完成驱动程序. 可以大大的提高工作效率,并且对于硬件的具体细节设置是在驱动程序中最容易出错的地方,而采用BSP 支撑库则可以大大的减少出错的可能性. 在BSP 支撑库中除了对硬件的描述性操作部分的代码外,还包含了对目标板的初始化部分、中断管理部分以及一些简单的驱动程序程序单元 .这样的BSP可以不用依赖于任何的操作系统和驱动程序,但是可以作为操作系统和驱动程序的开发支撑库,可以非常方便的移植或者开发操作系统与驱动程序.在最好的情况下,操作系统与驱动程序的移植只需要更换相应平台下的BSP 支撑库就完成了移植.5、A RM’s BSP(Vxwork for Arm)Vxwork 的BSP主要功能:系统上电硬件初始化,提供VxWorks访问硬件驱动程序的支持,综合硬件无关和硬件相关的VxWorks软件.BSP不是硬件驱动,对目标环境(target enviroment) 是特定的 .组成部分:源文件(Source file);头文件(include file) 和编译生成文件(make file) ;继承文件(derived file)和二进制驱动模块(binary).开发步骤:1)确定要使用的模板,(Template)bsp 类型,针对目标硬件板进行选择,如Pid7,Pid_t,snds100.2)选择合适的开发仿真工具,目前使用较广泛的有EST的VisionICE和VisionProbe,都支持Jtag标准,可以在线flash Programming.3)确定要开发的生成镜像(image)的类型,rom image还是loadable image,rom image根据功能分为boot image 和VxWorks;根据加载过程为rom image:把代码(code)和数据(data) 拷贝到ram区,然后执行:rom-resdent image; 仅把数据拷贝到ram区,代码在rom执行;根据是否压缩分为压缩型和非压缩型.4)根据目标硬件配置确定系统的配置参数宏(macro), 在,makefile,文件中,这些文件在自己的bsp目录下,通常的情况下开发人员只需要对其中的宏参数进行配置并保持一致性,其他的通用参数由系统缺省完成.5)内核初始化之前的启动过程, 如图3图3 内核初始化之前的启动过程Boot,rom image从rominit romstar() 开始执行,是系统的入口,进行系统最小初始化工作,中断屏蔽,存储器初始化和设置系统堆栈指标.保存启动类型跳到romstar(), 把vxworks image 从rom 拷贝到ram,跳到usrinit()完成操作系统初始化.Loadable image则是有系统的引导程序加载VxWorks image到ram跳到sysinit()执行rominit()的工作,但是不进行出去器初始化工作.romInit()为适合不同的image类型,应当使用PIC(position independent code) 即PC(program counter)相关代码.如#define ROM-OFFSET(x)((x)-_rlmInit ROM_TEXT_ADRS) 地址计算.系统的需要开发人员自定义的宏:LOCAL_MEM_LOCAL_ADRS_RAM 开始地址;LOCAL_MEM_SIZE_RAM 大小;USER_RESERVED_MEM -在ram顶部保留的字节数,冷启动不清零;RAM_HIGH_ADRS - 非驻留rom(non -ROM resident)VxWorks boot images 加载地址;RAM_LOW_ADRS - 非驻留ram VxWorks aplication image 加载地址;ROM_TEXT_ADRS - Boot ROM 入口地址;ROM_BASE_ADRS - ROM 基地址;Usrinit() 完成激活内核所需的最小初始化工作.SysHwinit()把系统硬件一个静态的环境,由kernelinit()来激活VxWorks.6) 配置存储器(memory),中断(interrupt) ,时钟(timer) 对自己的bsp 进行调试、修改、发布.值得注意的是,在一般的情况下,开发人员不需要修改$(windriver)/target/confige/all和comps目录下的文件,只需要修改自己的bspname/目录下的文件,有改变连接规则,可以修改makefile 文件,控制系统的启动过程.结语本文讨论实时操作系统中板级支持包BSP的概念,强调指出BSP是基于不同的处理器类型,各种实时操作系统对不同的处理器提供了不同的板级支持包. 通过BSP,BIOS和Driver对比,分析说明了板级支持包具体的功能作用,即要提供给操作系统一个无关的设备接口,让程序开发人员可以在不熟悉具体硬件的条件下,对硬件的寄存器进行正确的操作和配置.最后结合Arm处理器,给出了编写Vxworks的BSP的要点以及开发流程.。

几种嵌入式实时操作系统的分析与比较

几种嵌入式实时操作系统的分析与比较

⼏种嵌⼊式实时操作系统的分析与⽐较VxWorks、µClinux、µC/OS-II和eCos是4种性能优良并被⼴泛应⽤的实时操作系统。

本⽂通过对这4种操作系统的主要性能进⾏分析与⽐较,归纳出它们的选型依据和适⽤领域。

1 4种操作系统的介绍(1)VxWorksVxWorks是美国WindRiver公司的产品,是⽬前嵌⼊式系统领域中应⽤很⼴泛,市场占有率⽐较⾼的嵌⼊式操作系统。

VxWorks实时操作系统由400多个相对独⽴、短⼩精悍的⽬标模块组成,⽤户可根据需要选择适当的模块来裁剪和配置系统;提供基于优先级的任务调度、任务间同步与通信、中断处理、定时器和内存管理等功能,内建符合POSIX(可移植操作系统接⼝)规范的内存管理,以及多处理器控制程序;并且具有简明易懂的⽤户接⼝,在核⼼⽅⾯甚⾄町以微缩到8 KB。

(2) µC/OS-IIµC/OS-II是在µC-OS的基础上发展起来的,是美国嵌⼊式系统专家Jean J.Labrosse⽤C语⾔编写的⼀个结构⼩巧、抢占式的多任务实时内核。

µC/OS-II 能管理64个任务,并提供任务调度与管理、内存管理、任务间同步与通信、时间管理和中断服务等功能,具有执⾏效率⾼、占⽤空间⼩、实时性能优良和可扩展性强等特点。

(3)µClinuxµClinux是⼀种优秀的嵌⼊式Linux版本,其全称为micro-control Linux,从字⾯意思看是指微控制Linux。

同标准的Linux相⽐,µClinux的内核⾮常⼩,但是它仍然继承了Linux操作系统的主要特性,包括良好的稳定性和移植性、强⼤的⽹络功能、出⾊的⽂件系统⽀持、标准丰富的API,以及TCP/IP⽹络协议等。

因为没有MMU内存管理单元,所以其多任务的实现需要⼀定技巧。

(4)eCoseCos(embedded Configurable operating system),即嵌⼊式可配置操作系统。

几种主流DCS系统横向对比分析

几种主流DCS系统横向对比分析
AAR181 RTD 输入模块 隔离 ADV151 数字输入 24VDC 32pt ADV551 数字输出 24VDC 32pt ADV159 数字输入兼容 ST3 通道隔离 32pt ADV559 数字输出兼容 ST4 通道隔离 32pt ADR541 继电器输出模块 24-110VDC
100-240Байду номын сангаасDC
1、PKS 是最新推出的系统,配置齐全,冗余容
2、Mesh 网络采用的过程管控网配 APM 软件 错。
可以对现场设备进行有效的诊断,减低维护成 2、采用冗余以太网(FTE)
本。
3.最大位号量:六万五千
3、I/A Series 网络功能实时可靠,开放和技术 4. 系统保存数据最长维持 48 小时(仅由电池
四家系统的不同点: 1.Yokogawa DCS 开放性好,系统 可靠性强。 2.Emerson DCS 系统结构简单,软 件管理功能强大,FF 总线控制技术 应用较广泛。 3.Honeywell DCS 有网络通信方式 和数据库设计及先进的预估控制, 控制更完善,但 FF 总线控制技术应 用极少。 4.Invensys DCS 系统结构灵活,具 有很强大的可伸缩性 TRICNONEX 是其自有品牌.
术,profibusDP,AS-I 总线,FF 总线,HART
1、关键卡件如控制器、电源、数据通讯都是 1、关键卡件如控制器、电源、数据通讯都是
冗余容错。
冗余容错。
2、有故障诊断和可带电插拔(可维护性高) 2、有故障自诊和带电插拔。(可维护性)
3、实时内部部件自诊断功能,双冗余 CPU 4、硬件结构简单。
Analog AI AI 4-20mA, 8pt 单通道隔离 接收信号范围1-22.5mA有超量 程检测

几种主流DCS系统对比分析

几种主流DCS系统对比分析

几种主流DCS系统对比分析DCS系统是工业自动化中的重要组成部分,不同的系统具有各自的性能特点。

以下是四种不同DCS系统的比较:Yokogawa DCS(CS3000):该系统具有可靠性、实时性和开放性,能够兼容非CENTUM系统部件。

此外,它还具有虚拟测试功能(FCS仿真器)。

需要注意的是,如果需要G3防腐认证,用户需要特别指出。

CENTUMCS3000R3.01:该系统具有系统配置齐全、冗余容错、点对点对等通讯方式等特点。

此外,它还具有双冗余令牌控制总线等功能,最大位号量为十万,最快扫描周期为1秒,趋势图最多可定义2560个参数。

系统保存数据最长维持72小时,操作站为通用PC,并具有安全措施。

Emerson DCS(Delta V):该系统具有系统配置灵活、可靠性高、操作和维护工作量小等特点。

此外,它还具有一体化的模块软件、虚拟测试功能和控制器及卡件全部带有G3防腐认证等特点。

INVENSYS DCS(I/A Series):该系统具有开放性、可靠性和技术先进性等特点。

它的Mesh网络具备高速、多冗余、点对点的网络通讯性能,而且有自己的DCS系统和ESD系统,系统间通讯能力强且可靠顺畅。

需要注意的是,如果需要G3防腐认证,用户需要特别指出。

Honeywell DCS(PKS C300):该系统具有可靠性、实时性和开放性等特点,全双冗余结构,容错以太网技术,强大的可组态功能,控制器及卡件可选G3防腐等级保护模件。

需要注意的是,查阅资料显示该系统带有OPC但不对外开放,如果需要使用OPC协议,用户需要额外提出要求。

综上所述,不同的DCS系统具有各自的性能特点,用户应该根据自己的需求选择最适合自己的系统。

四家系统的共同点包括:广泛应用于传统领域,具备大型系统的应用经验;系统配置齐全且具备冗余容错;具有安全措施以保证系统数据的安全可靠;可通过OPC协议和其它系统及上层管理网无缝集成;都提供24小时内紧急维护;都支持其它通讯协议。

实时操作系统包括硬实时和软实时的区别

实时操作系统包括硬实时和软实时的区别

一.什么是真正的实时操作系统做嵌入式系统开发有一段时间了,做过用于手机平台的嵌入式Linux,也接触过用于交换机、媒体网关平台的VxWorks,实际应用后回过头来看理论,才发现自己理解的肤浅,也发现CSDN上好多同学们都对实时、嵌入式这些概念似懂非懂,毕竟如果不做类似的产品,平时接触的机会很少,即使做嵌入式产品开发,基本也是只管调用Platformteam封装好的API。

所以在此总结一下这些概念,加深自己的理解,同时也给新手入门,欢迎大家拍砖,争取写个连载,本文先总结一下实时的概念,什么是真正的实时操作系统1. 首先说一下实时的定义及要求:参见Donal Gillies 在Realtime Computing FAQ 中提出定义:实时系统指系统的计算正确性不仅取决于计算的逻辑正确性,还取决于产生结果的时间。

如果未满足系统的时间约束,则认为系统失效。

一个实时操作系统面对变化的负载(从最小到最坏的情况)时必须确定性地保证满足时间要求。

请注意,必须要满足确定性,而不是要求速度足够快!例如,如果使用足够强大的CPU,Windows 在CPU空闲时可以提供非常短的典型中断响应,但是,当某些后台任务正在运行时,有时候响应会变得非常漫长,以至于某一个简单的读取文件的任务会长时间无响应,甚至直接挂死。

这是一个基本的问题:并不是Windows不够快或效率不够高,而是因为它不能提供确定性,所以,Windows不是一个实时操作系统。

根据实际应用,可以选择采用硬实时操作系统或软实时操作系统,硬实时当然比软实时好,但是,如果你的公司正在准备开发一款商用软件,那请你注意了,业界公认比较好的VxWorks(WindRiver 开发),会花光你本来就很少的银子,而软实时的操作系统,如某些实时Linux,一般是开源免费的,我们公司本来的产品就是基于VxWorks的,现在业界都在CostReduction,为了响应号召,正在调研如何把平台换成免费的嵌入式实时Linux。

下面介绍国外和国内常用的实时操作系统

下面介绍国外和国内常用的实时操作系统

面介绍国外和国内常用的实时操作系统1. 国外著名的实时操作系统国外实时操作系统已经从简单走向成熟,有代表性的产品主要有VxWorks, QNX Palm OS Windows CE等,占据了机顶盒、PDA等的绝大部分市场。

其实,实时操作系统并不是一个新生的事物,从20世纪80 年代起,国际上就有一些IT组织、公司开始进行商用嵌入式系统和专用操作系统的研发。

(1) VxWorksVxWorks操作系统是美国WindRiver公司于1983年设计开发的一种实时操作系统。

VxWorks拥有良好的持续发展能力、高性能的内核以及良好的用户开发环境,在实时操作系统领域内占据一席之地。

它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通信、军事演习、导弹制导、飞机导航等。

在美国的F-16、"FA-18战斗机,B-2隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用了VxWorks。

它是目前嵌入式系统领域中使用最广泛、市场占有率最高的系统。

它支持多种处理器,如x86,i960,Sun Sparc,Moto--rola MC68xxx,MIPS RX000,Power PC,ARM,StrongARM等。

大多数的VxW---orksAPI是专有的。

(2) QNXQNX是一个实时的、可扩充的操作系统;它部分遵循POSIX相关标准,如POSIX.1b实时扩展;它提供了一个很小的微内核以及一些可选的配合进程。

其内核仅提供4 种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间中运行。

所有其他操作系统服务都实现为协作的用户进程,因此QNX内核非常小巧(QNX4. "X大约为12KB),而且运行速度极快。

这个灵活的结构可以使用户根据实际的需求,将系统配置成微小的嵌入式操作系统或包括几百个处理器的超级虚拟机操作系统。

常用嵌入式实时操作系统比较分析

常用嵌入式实时操作系统比较分析
Ab t a t s r c :W i h o n ain o a - me a l tlr n ,sa d r o ai i t , tn a d f re e d d r a — meOS t t e fu d t fr l i ,fu t oe a t tn a d c mp t l y a sa d r o mb d e e l i h o e t b i t w s s g e td a u g se ,w ih i cu e mb d e r ht cu e u p re ad r ,s h d l n g me t h c n l d d e e d d OS a c i tr ,s p otd h r wae c e u e ma a e n ,me  ̄ ma a e n , e mo n g me t
0 引言
嵌入式实 时操作系统 作为大 多数 实时系统 的软件 平 台,
本文借鉴通用操作系统的功能划分, 强化实时性、 故障容
错 、 准兼容性等关键 特征 , 每个功能领域对常用 实时操作 标 从 系 统 进 行 深 入 的 研 究 , 析 对 比 常 用 的 Wi E N T 分 n .E、 C R Lnx V Wok 以及 R E T iu 、 x rs T MS实时操作 系统之 间的差异 , 最 后为常用嵌入式实时操作系统工 程选型奠定基础。
sl c t e b s e e d d r a — me OS f rt e a p iain st ain ee t h e t mb d e e t h p l t i t . l i o c o u o Ke r s e e d d OS r a-i y wo d : mb d e ; e t l me
维普资讯
第2 6卷 第 4期

几种嵌入式实时操作系统的研究与比较

几种嵌入式实时操作系统的研究与比较

几种嵌入式实时操作系统的分析与比较2008-07-04 20:54VxWorks、μClinux、μC/OS-II和eCos是4种性能优良并被广泛应用的实时操作系统。

本文通过对这4种操作系统的主要性能进行分析与比较,归纳出它们的选型依据和适用领域。

1. 4种操作系统的介绍(1>VxWorksVxWorks是美国WindRiver公司的产品,是目前嵌入式系统领域中应用很广泛,市场占有率比较高的嵌入式操作系统。

VxWorks实时操作系统由400多个相对独立、短小精悍的目标模块组成,用户可根据需要选择适当的模块来裁剪和配置系统;提供基于优先级的任务调度、任务间同步与通信、中断处理、定时器和内存管理等功能,内建符合POSIX(可移植操作系统接口>规范的内存管理,以及多处理器控制程序;并且具有简明易懂的用户接口,在核心方面甚至町以微缩到8 KB。

(2> μC/OS-IIμC/OS-II是在μC-OS的基础上发展起来的,是美国嵌入式系统专家Jean J.Labrosse用C语言编写的一个结构小巧、抢占式的多任务实时内核。

μC/OS-II能管理64个任务,并提供任务调度与管理、内存管理、任务间同步与通信、时间管理和中断服务等功能,具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点。

(3>μClinuxμClinux是一种优秀的嵌入式Linux版本,其全称为micro-control Linux,从字面意思看是指微控制Linux。

同标准的Linux相比,μClinux的内核非常小,但是它仍然继承了Linux操作系统的主要特性,包括良好的稳定性和移植性、强大的网络功能、出色的文件系统支持、标准丰富的API,以及TCP /IP网络协议等。

因为没有MMU内存管理单元,所以其多任务的实现需要一定技巧。

(4>eCoseCos(embedded Configurable operating system>,即嵌入式可配置操作系统。

把脉四海九天——天脉嵌入式实时操作系统

把脉四海九天——天脉嵌入式实时操作系统

把脉四海九天——天脉嵌入式实时操作系统作者:暂无来源:《上海信息化》 2017年第12期文/吕大鹏雷清与Windows、Linux、Android、iOS相同,嵌入式实时操作系统时刻影响着人们生活,它们确保飞机安全地将人们送往世界各地、精准控制工厂中机械臂的生产、全年无休地控制发电厂为整个城市提供电力……与其他操作系统类似,嵌入式实时操作系统管理着运行设备上的处理器、内存、硬盘、网络等硬件资源,并为软件提供服务;与其他操作系统不同,嵌入式实时操作系统要求反应更快、故障率更低、安全性更高。

近年来,国家航空装备中大量使用国外嵌入式实时操作系统产品,然而购买代价不菲、应用受制于人、服务无法保障、安全存在隐患等问题,带给中国航空强烈的痛苦感受。

2002年,由中国航空工业集团公司西安航空计算技术研究所(以下简称“计算所”)发起,由空军总体论证单位需求牵引,计算所自筹资金、组织团队,开展了具有自主知识产权的国产操作系统研制。

从起步时的一无所有到2006年技术突破形成原型产品,从2008年国家独立型号立项到2014年顺利通过国家设计定型审查,计算所操作系统研制团队克服了重重困难,先后突破了强实时调度、时间/空间的分区隔离和健康监控等技术,自主完成了针对嵌入式实时操作系统的需求分析、设计、开发、验证等一系列工作,成功研制出天脉系列嵌入式实时操作系统。

规范严谨的研制过程操作系统作为基础平台软件,起着承上启下的关键作用:对上要完成应用任务的管理、通信和紧急事件处理,对下要能够适配复杂的硬件,还要最大程度地发挥硬件能力,保证整个系统正常运行。

现代软件工程研究表明,软件的质量与软件研制过程的规范化程度直接相关。

为了保证产品质量,在遵循军品关键软件研制要求的基础上,天脉嵌入式实时操作系统研制团队在研制过程中创新性地引入了国际民用航空机载软件适航规范DO-178B,并按照最高级别软件要求,规范管理软件研发的全生命周期。

在实际执行中,对照DO-178B对A级软件所定义的66个目标,研制团队在天脉嵌入式实时操作系统的策划、开发、验证过程中严格遵守,使整个研制过程成为高安全嵌入式软件研制规范的优秀实践案例。

实时操作系统包括硬实时和软实时的区别

实时操作系统包括硬实时和软实时的区别

实时操作系统包括硬实时和软实时的区别⼀.什么是真正的实时操作系统做嵌⼊式系统开发有⼀段时间了,做过⽤于⼿机平台的嵌⼊式Linux,也接触过⽤于交换机、媒体⽹关平台的VxWorks,实际应⽤后回过头来看理论,才发现⾃⼰理解的肤浅,也发现CSDN上好多同学们都对实时、嵌⼊式这些概念似懂⾮懂,毕竟如果不做类似的产品,平时接触的机会很少,即使做嵌⼊式产品开发,基本也是只管调⽤Platformteam封装好的API。

所以在此总结⼀下这些概念,加深⾃⼰的理解,同时也给新⼿⼊门,欢迎⼤家拍砖,争取写个连载,本⽂先总结⼀下实时的概念,什么是真正的实时操作系统1. ⾸先说⼀下实时的定义及要求:参见Donal Gillies 在Realtime Computing FAQ 中提出定义:实时系统指系统的计算正确性不仅取决于计算的逻辑正确性,还取决于产⽣结果的时间。

如果未满⾜系统的时间约束,则认为系统失效。

⼀个实时操作系统⾯对变化的负载(从最⼩到最坏的情况)时必须确定性地保证满⾜时间要求。

请注意,必须要满⾜确定性,⽽不是要求速度⾜够快!例如,如果使⽤⾜够强⼤的CPU,Windows 在CPU空闲时可以提供⾮常短的典型中断响应,但是,当某些后台任务正在运⾏时,有时候响应会变得⾮常漫长,以⾄于某⼀个简单的读取⽂件的任务会长时间⽆响应,甚⾄直接挂死。

这是⼀个基本的问题:并不是Windows不够快或效率不够⾼,⽽是因为它不能提供确定性,所以,Windows不是⼀个实时操作系统。

根据实际应⽤,可以选择采⽤硬实时操作系统或软实时操作系统,硬实时当然⽐软实时好,但是,如果你的公司正在准备开发⼀款商⽤软件,那请你注意了,业界公认⽐较好的VxWorks(WindRiver 开发),会花光你本来就很少的银⼦,⽽软实时的操作系统,如某些实时Linux,⼀般是开源免费的,我们公司本来的产品就是基于VxWorks的,现在业界都在CostReduction,为了响应号召,正在调研如何把平台换成免费的嵌⼊式实时Linux。

各大智能手机操作系统优劣势对比PPT培训课件

各大智能手机操作系统优劣势对比PPT培训课件
Windows Phone
Windows Phone平台的应用生态 相对较小,部分热门应用和游戏可 能无法及时获取或根本无法获取。
用户界面与体验
iOS
iOS的用户界面简洁直观,易于上手。但过于统一和规范化的设计 有时可能会显得略显单调。
Android
Android系统的用户界面具有较高的自定义性,但这也意味着用户 可能需要花费更多时间进行个性化设置和调整。
目的与意义
通过本次培训,用户 可以全面了解各大操 作系统的特点。
提高用户对不同操作 系统的认识,促进用 户之间的交流与讨论。
帮助用户根据自己的 需求选择最适合自己 的操作系统。
02
操作系统概述
Android系统
开放性
Android系统是开源的,厂商可 以根据自己的需求进行定制化开 发,具有很高的灵活性。
版本碎片化
由于Android系统的版本 众多,导致应用兼容性问 题,影响用户体验。
广告和内购
一些Android应用内含有 广告和内购,可能会影响 用户体验。
iOS系统
安全性
iOS系统具有很高的安全性,苹果公 司对应用审核严格,可以有效防止恶 意软件的入侵。
用户体验一致性
iOS系统在不同设备上具有一致的用户 体验,使用户更容易上手。
各大智能手机操作系统优劣 势对比ppt培训课件
• 引言 • 操作系统概述 • 优势对比 • 劣势对比 • 结论
01
引言
背景介绍
随着智能手机的普及,各种操 作系统如雨后春笋般涌现,如 iOS、Android、Windows Phone等。
这些操作系统各有千秋,为用 户提供了不同的使用体验。
为了帮助用户更好地选择适合 自己的操作系统,本次培训将 对各大操作系统的优劣势进行 对比分析。

ERP系统之比较——SAP、Oracle、BAAN、JDE、SSA

ERP系统之比较——SAP、Oracle、BAAN、JDE、SSA

ERP系统之比较——SAP、Oracle、BAAN、JDE、SSAERP/MRPII系统剖析SAPSAP公司简介R/2和R/3系统是德国SAP公司所提供的MRPII产品。

R/2是用于集中式大型机环境的系统,R/3是用于分布式的客户机/服务器环境的系统。

SAP是国际上著名的标准应用软件公司。

SAP总部设在德国南部的沃尔道夫市,公司成立于1972年,1988年成为德国股票上市公司。

到1995年底,SAP在世界40多个国家和地区设有代表处和独立子公司,具有近5000家用户,成为世界第五大软件供应商。

1995年SAP集团在中国设立了子公司。

R/2和R/3系统特点SAP的一整套程序是针对所有企业的一种数据和应用集成方法,它将业务和技术进步融入了一个综合性的高品位的标准系统,即商品化软件系统。

R/3系统又是一个建立在三维客户机/服务器上的开放的新标准软件。

R/2和R/3系统的共同特点如下:(l)综合完善功能:系统提供的应用功能有:会计、后勤、人力资源管理、办公室和通信等。

它涉及各种管理业务,覆盖了管理信息系统中各种功能。

(2)高度集成模块:系统具有一个高度集成化的结构,表现在它所提供的各种管理业务功能之间都是相互关联的,各模块输入输出相互衔接,数据高度共享,任何数据的修改都将会引起相关数据自动修改。

(3)适应多种行业:系统是一个能够适用于多种行业应用的软件,它是通过标准核心软件与不同行业特点相结合而产生的。

应用领域主要是各种制造业,此外,在零售公司、公共设施、银行、医院、金融和保险也有应用。

(4)开放应用环境系统是一个开放式软件系统,它可以运行在所有主要硬件平台和操作系统之上和不同数据库,有HP-Unix操作系统,IBM的AS/400操作系统,WindowsNT,Oracle数据库,Informix数据库等,以及在Sequent和Compaq计算机上同时运行Unix和WindowsNT的Server的平台。

嵌入式操作系统任务切换方法对比分析

嵌入式操作系统任务切换方法对比分析

护的 同 时还 能 提 高 系统 的 稳 定 性 和 可 靠 性 , 以逐 步 成 为 嵌 入 式 系统 的 重 要 组 成 部 分 。本 文 介 绍 4种 嵌 入 式 实 时 操 作 所
系 统 Vx o k 、 Cl u 、 C/ I 和 W id wsCE, 多任 务 的 调 度 切 换 进 行 了 分 析 比 较 。 W r s f i x f OS I n no 对
任 务 间 同步 与通 信 、 断处 理 、 时 器 和 内存 管 理 等 功 能 , 中 定
引 言
嵌 入 式 系统 在 航 天 、 事 、 控 以 及 家 电 等 方 面得 到 军 工 了 7 泛 应用 。大 量 的嵌 入 式 系统 具 有 实 时 性 的要 求 , 是 一 但
由 于 体 积 、 耗 、 格 等 方 面 的 约 束 , 处 理 器 速 度 往 往 比 能 价 其
 ̄/ c os—I I是 在 c os 的 基 础 上 发 展 起 来 的 , 美 / 是
较慢 , 储 器 容 量 也 有 限 。 而传 统 的实 时 操 作 系统 难 以 简 存
单地 移 植 到 嵌 入 式 系统 中 , 以需 要 重 新 开 发针 对 嵌 入 式 所 系统 特 性 的 实 时操 作 系 统 。任 务 调 度 策 略 是 实 时 系 统 内
嵌 入 式 操 作 系统 任 务 切 换 方 法 对 比分 析 ※
孙 利 锋
( 州 大学 电气 工程 学 院 , 阳 5 0 0 ) 贵 贵 5 0 0
摘 要 :嵌 入 式 操 作 系 统 在 很 多 领 域 得 到 应 用 。 由 于 嵌 入 式 实 时 操 作 系 统 支 持 多 任 务 , 得 程 序 开 发 更 加 容 易 , 便 于 维 使 在
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
参考文献: 1. 劭贝贝,‘UC/OS-II源码公开的实时嵌入式操作 系统’, 北京:中国电力出版社, 2001, 29-68 2. 武强‘,选择嵌入式实时操作系统应注意的几个问 题’,航空计算技术,2002,32(3):90-92
英特尔全球同庆公司成立 3 5 周年
日前,英特尔公司宣布在全球启动“英特尔员工庆 祝周”,隆重庆祝公司成立 35周年,纪念公司在过去35 年的创新历程中创造出的各种微处理器产品对整个世界 产生的重要影响。
a. I/O原则:不同的外设执行不同任务; b. 优先级原则:不同优先级处理不同的任务; c. 大量运算:归为一个任务; d. 功能耦合:归为一个任务; e. 偶然耦合:归为一个任务; f. 频率组合:对于周期时间,不同任务处理不同的 频率。
如果我们在具体分析一个系统的时候发生原则冲突 的话,则要为每一个原则针对具体的系统设定“权重”,必 要的时候可以通过计算“权重”来最终确定如何去划分任 务。
总结
VxWorks、µC/OS-II、RT-Linux、QNX 都是优秀的 强实时操作系统,各有特色:VxWorks 的衡量指标值最 好;µC/OS-II 最短小精悍;RT-Linux支持调度策略的改 写;QNX 支持分布式应用。当我们充分理解和掌握它们 实现技术、衡量指标的不同,注意所存在的问题,就能在 实时性应用中游刃有余。■
强实时操作系统的函数调用与服务的执行时间应具 应时间等辅助的衡量指标。
有可确定性。系统服务的执行时间不依赖于应用程序任
务的多少。系统完成某个确定任务的时间是可预测的。
若干问题
实时性能重要指标
衡量实时操作系统实时性能的重要指标有:
虽然当今的实时操作系统已日臻完善,但仍有一 些问题存在并干扰着强实时的实现。我们应充分的重视, 并通过合理的安排程序减少它们的危害。
的调度,后者主要用于动态调度,在不同的系统状态下两 表2 系统实时性能重要指标的典型值
种算法各有优劣。在商业产品中采用的实际策略常常是 各种因素的折中。
● 任务优先级分配 每个任务都有其优先级。任务越重要,赋予的优先 级应越高。应用程序执行过程中诸任务优先级不变,则称 之为静态优先级。在静态优先级系统中,诸任务以及它们
一条指令时间
● 任务执行时间的抖动
中断响应时间是系统在最坏情况下响应中断的时间,
各种实时内核都有将任务延时若干个时钟节拍的功
某系统 100 次中有 99次在 50µs之内响应中断,只有一次 能。优先级的不同、延时请求发生的时间、发出延时请求
响应中断的时间是 2 5 0 µs,只能认为中断响应时间是 的任务自身的运行延迟,都会造成被延时任务执行时间
● 任务切换时间 当多任务内核决定运行另外的任务时,它把正在运 行任务的当前状态(即 CPU 寄存器中的全部内容)保存到
● 优先级反转 这是实时系统中出现得最多的问题。优先级反转是 指一个任务等待比它优先级低的任务释放资源而被阻塞,
任务自己的栈区之中。然后把下一个将要运行的任务的 当前状态从该任务的栈中重新装入 CPU 的寄存器,并开 始下一个任务的运行。这个过程就称为任务切换。做任务
www.eepw.com.cn 2003.8/上半月 63
地。“时光宝盒”将于 2018年,英特尔公司成立50周年 之际被重新打开。
英特尔于 1985 年进入中国,在中国(大陆)设有13 个代表处 , 有员工 1800 多名。
在中国,英特尔设有世界一流的研究机构,即英特 尔中国实验室 , 它由 4 个不同研究中心组成,包括英特 尔中国研究中心、英特尔中国软件实验室、英特尔无线 技术发展中心、英特尔互联网交换架构发展中心。在上 海,英特尔投资 5 亿美元建立了世界一流的芯片测试与 封装工厂,并于2003年4月宣布向全球发运世界最先进 的微处理器产品。英特尔的战略投资事业部( I n t e l Capital)自 1998 年以来一直在中国进行积极的策略投 资,已向国内近30家技术公司进行了策略风险投资,旨 在促进新兴技术和产业生态环境的发展,从而更有效地 推动中国互联网经济的发展。此外,英特尔还十分积极 地支持并启动了一系列教育创新活动。
时或超时,就可能导致巨大的损失和灾难。因而,选择操 系统和准实时系统的实现区别主要在选择调度算法上。
作系统时,对实时性的仔细考虑至关重要。本文从实时性 选择基于优先级调度的算法足以满足准实时系统的要求,
的角度细致的分析对比了适用于此类有苛刻实时性要求 而且可以提供高速的响应和大的系统吞吐率。当两个或
IC & COMPONENTS IC & COMPONENTS
IC 与元器件
4 种实时操作系统实时性的分析对比
The Comparison of Four Main Performance for RTOS
合肥工业大学机汽学院 合肥荣事达电冰箱有限公司 王伟 蒋斌
摘 要: 本文分析了适用于测控领域的4种实时操作系统,并对比了它们实时性能的重要指标,归纳了实时性 设计和实现中的若干问题。
如果这时有中等优先级的就绪任务,阻塞会进一步恶化。 它严重影响了实时任务的完成。
为防止发生优先级反转,一些商业内核(如VxWorks)
切换所需要的时间取决于 C P U 有多少寄存器要入栈。 CPU 的寄存器越多,额外负荷就越重。
● 中断响应时间(可屏蔽中断) 计算机接收到中断信号到操作系统作出响应,并完 成切换转入中断服务程序的时间。对于占先式内核,要先 调用一个特定的函数,该函数通知内核即将进行中断服
系统。在机顶盒、PDA、信息家电等应用领域,系统负荷
较重的时候,允许发生错过时限的情况而且不会造成太
大的危害,准和弱实时系统就可满足应用。一个强实时的
操作系统通常使用以下技术:
www.eepw.com.cபைடு நூலகம் 2003.8/上半月 61
IC 与元器件
IC & COMPONENTS IC & COMPONENTS
关键词: 实时操作系统;VxWorks;µC/OS-II;RT-Linux;QNX
引言
● 占先式内核
20世纪70年代以来嵌入式系统的硬件和软件技术的
当系统时间响应很重要时,要使用占先式内核。当
飞速进步,使得嵌入式应用得到了蓬勃发展,在这些应用 前最高优先级的任务一旦就绪,总能立即得到 CPU 的控
使用了优先级继承技术,当优先级反转发生时,优先级较 低的任务被暂时地提高它的优先级,使得该任务能尽快 执行,释放出优先级较高的任务所需要的资源。但它也不 能完全避免优先级反转,只能称其减轻了优先级反转的 程度,减轻了优先级反转对实时任务完成的影响。
优先权极限是另一种解决方案,系统把每一个临界
务,使得内核可以跟踪中断的嵌套。占先式内核的中断响 应时间由下式给出:
新安排任务的优先级;c. 避免使用浮点运算等。 强实时系统中,我们必须综合考虑,充分利用各种
手段,尽量减少任务执行时间的抖动。 ● 任务划分 程序在 CPU 中是以任务的方式在运行,所以我们要
将系统的处理框图转化为多任务流程图,对处理进行任 务划分。任务划分存在这样一对矛盾:如果任务太多,必 然增加系统任务切换的开销;如果任务太少,系统的并行 度就降低了,实时性就比较差。在任务划分时要遵循 H.Gomma 原则:
实时操作系统的实时性是第一要求,需要调度一切 限优先算法(EDF)变化而来。前者主要用于静态周期任务
可利用的资源完成实时任务。根据响应时间在微秒、毫秒 和秒级的不同,可分为强实时、准实时和弱实时三种。强 表1 系统所使用技术的异同
实时系统必须是对即时的事件作出反应,绝对不能错过
事件处理时限。例如测控领域就是要求强或接近强实时
中实时操作系统起着决定性的作用。
制权,而 CPU 的控制权是可知的。使用占先式内核使得
在复杂测控应用中,必须使用对实时性要求非常高 任务级响应时间得以最优化。
的实时操作系统。例如在工业控制、交通管理、机器人、
● 调度策略分析
航空航天、武器装备等领域,系统事件的响应如果不能准
任务调度策略是直接影响实时性能的因素。强实时
公司的两位创始人-现任英特尔名誉主席戈登·摩 尔、董事长安迪·格鲁夫以及首席执行官克瑞格 .贝瑞 特、总裁兼首席运营官欧德宁一起出席了在圣塔克拉拉 总部举行的庆祝活动,他们还一起将一组由当前世界一 流的产品组成的一个“时光宝盒” (Time Capsule)小心 地埋下。
“时光宝盒”包含的内容是从英特尔全球各地收集 上来的,其中包括从俄勒冈洲采集来的、世界领先的 300 毫米硅晶圆、由中国上海的测试和封装厂提供的微 处理器封装产品以及一份来自哥斯达黎加的新闻稿等。 这一“时光宝盒”是用以色列橄榄树雕刻而成,上面刻 有金属鸽,象征着以色列对未来世界和平的向往。以色 列是英特尔迅驰移动计算技术的一个主要设计中心所在
250µs。
不同程度的提前或滞后,称之为任务执行时间的抖动。可
62 2003.8/上半月 www.eepw.com.cn
IC & COMPONENTS IC & COMPONENTS
IC 与元器件
能的解决方案有: a. 增加微处理器的时钟频和时钟节拍的频率;b. 重
中断响应时间=关中断的最长时间
资源与1个极限优先权相联系,这个极限优先权等于系统 此时最高优先权加 1。当这个任务退出临界区后,系统立 即把它的优先权恢复正常,从而保证系统不会出现优先
+保护 CPU 内部寄存器的时间 +进入中断服务函数的执行时间 +开始执行中断服务例程(ISR)的第
权反转的情况。采用这种方案的另一个有利之处,是仅仅 通过改变某个临界资源的优先级就可以使多个任务共享 这个临界资源。
的 4 种操作系统—— VxWorks、µC/OS-II、RT-Linux、 两个以上任务有同样优先级,通常用时间片轮转法进行
QNX ,为系统选型提供一定参考。
相关文档
最新文档