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

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


2024年4月17日发(作者:)

一.什么是真正的实时操作系统

做嵌入式系统开发有一段时间了,做过用于手机平台的嵌入式Linux,也接触过用于

交换机、媒体网关平台的VxWorks,实际应用后回过头来看理论,才发现自己理解的肤浅,

也发现CSDN上好多同学们都对实时、嵌入式这些概念似懂非懂,毕竟如果不做类似的产

品,平时接触的机会很少,即使做嵌入式产品开发,基本也是只管调用Platformteam封

装好的API。所以在此总结一下这些概念,加深自己的理解,同时也给新手入门,欢迎大

家拍砖,争取写个连载,本文先总结一下实时的概念,什么是真正的实时操作系统

1. 首先说一下实时的定义及要求:

参见 Donal Gillies 在 Realtime Computing FAQ 中提出定义:实时系统指系统的

计算正确性不仅取决于计算的逻辑正确性,还取决于产生结果的时间。如果未满足系统的

时间约束,则认为系统失效。

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

时间要求。请注意,必须要满足确定性,而不是要求速度足够快!例如,如果使用足够强

大的CPU,Windows在CPU空闲时可以提供非常短的典型中断响应,但是,当某些后台

任务正在运行时,有时候响应会变得非常漫长,以至于某一个简单的读取文件的任务会长

时间无响应,甚至直接挂死。这是一个基本的问题:并不是Windows不够快或效率不够

高,而是因为它不能提供确定性,所以,Windows不是一个实时操作系统。

根据实际应用,可以选择采用硬实时操作系统或软实时操作系统,硬实时当然比软实

时好,但是,如果你的公司正在准备开发一款商用软件,那请你注意了,业界公认比较好

的VxWorks(WindRiver开发),会花光你本来就很少的银子,而软实时的操作系统,如某

些实时Linux,一般是开源免费的,我们公司本来的产品就是基于VxWorks的,现在业界

都在CostReduction,为了响应号召,正在调研如何把平台换成免费的嵌入式实时Linux。

同学们,如何选择,自己考虑吧:-)

硬实时 - 代表产品 VxWorks

举一个经常使用的实例,中高档汽车中使用的气囊。当报告车辆碰撞的传感器中断CPU

后,操作系统应快速地分配展开气囊的任务,并且不允许任何其他非实时处理进行干扰,

晚一秒钟展开气囊比没有气囊的情况更糟糕,这就是一个典型的必须使用硬实时的系统。

硬实时系统指系统要有确保的最坏情况下的服务时间,即对于事件的响应时间的截止

期限是无论如何都必须得到满足。

软实时 - 代表产品 软实时Linux

再举一个实例,IPTV数字电视机顶盒,需要实时的处理(解码)视频流,如果丢失了一

个或几个视频帧,显然会造成视频的品质更差,但是只要做过简单的抖动处理的系统,丢

失几个视频帧就不会对整个系统造成不可挽救的影响。

软实时系统就是那些从统计的角度来说,一个任务能够得到有确保的处理时间,到达

系统的事件也能够在截止期限到来之前得到处理,但违反截止期限并不会带来致命的错误。

---------------------------------------------

请注意:讲到这里,想花点墨水区分一下实时和嵌入式的概念,因为笔者也长时间把

这两者混为一谈。实时操作系统的概念上文已经讲的很清楚了,主要就是要能确定性的满


发布者:admin,转转请注明出处:http://www.yc00.com/web/1713287142a2219175.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信