1. Fireflies
  2. 技术/科学
  3. 2018年3月15日, 星期四
  4.  通过Email订阅
在物联网开发过程中,经常会听到有人谈起实时操作系统,比如VxWorks,uC-OS II, RTLinux等等,那究竟什么才算是实时操作系统?我们平时用的操作系统,比如Windows,Linux,是否算是实时操作系统呢?
评论
尚无评论
已接受的回答
已接受的回答 等待审核
什么是实时操作系统?
实时系统指系统的计算正确性不仅取决于计算的逻辑正确性,还取决于产生结果的时间。如果未满足系统的时间约束,则认为系统失效。

大家普遍的一种意识是实时性意味着速度快,实际上实时性与任务执行的速度快并不是一回事,实时性的真正含义是指任务的(最迟)完成时间(Deadline)是可确定预知的。操作系统面对的负载通常是变化的,有时任务少,有时任务重,实时操作系统要求无论负载多少,都必须保证满足时间要求。所以实时操作系统追求的不是速度,而是任务执行时间的确定性。

相信大家都有这样的经历,我们的Windows系统的电脑,配置有很高工作频率的强大CPU,显然在任务不多的时候,可以以非常快的处理速度执行任务。但是,当某些后台任务正在运行时,比如下载文件,或者是在杀毒,这时候前台的程序响应会变得非常漫长,甚至程序会失去响应。并不是说Windows系统不够快或效率不够高,而是Windows系统不能提供确定性,所以,Windows不是一个实时操作系统。通常面向PC的操作系统都不是实时操作系统,比如Linux的桌面发行版、服务器版,以及Mac OS等。

实时操作系统有哪些?
实时操作系统根据其实时性的刚性要求程度不同,分为硬实时(hard realtime)和软实时(soft realtime)操作系统。
硬实时系统指系统要在最坏情况(负载最重)下确保服务时间,即对于事件的响应时间的截止期限是无论如何都必须满足。软实时系统是从统计的角度,任何一个任务都能够有一个预期的处理时间,但任务一旦超过截止期限,也并不会带来致命的错误。硬实时代表产品:VxWorks

好奇号火星探测车使用了VxWorks系统
对于一些涉及到人身安全或者非常重要的任务,必须使用硬实时操作系统,更多用于对实时性要求更高的工业制造领域。比如汽车安全气囊的控制,晚一秒钟打开可能就会丧生一条人命,这种场合必须使用硬实时系统。

WindRiver公司的VxWorks是硬实时操作系统的代表产品,以性能稳定而著称。美国 F-16、FA-18战斗机、B-2 隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器、2008年5月登陆的凤凰号,和2012年8月登陆的好奇号也都使用到了VxWorks。

VxWorks的缺点就是有点贵。但近年来各大厂商越来越强调成本,所以VxWorks不断被其他一些开源的实时操作系统取代。华为多年来一直在自己的网络设备中购买和使用VxWorks,也会逐渐采用替代的系统。软实时代表产品:各种实时Linux。

物联网系统,其中有不少是在Linux基础上做了实时性的改进,比如RTLinux等,这些系统都算是软实时产品。

对于IPTV数字电视机顶盒,需要实时的解码视频流,所以需要使用实时操作系统。但即使丢失了几个视频帧,在短时间内视频可能会有一些不流畅,但马上就会恢复,不会造成什么严重的后果。这种消费类电子产品,适合使用软实时操作系统。
评论
尚无评论


当前有回复,但您无法查看!