黑基网 首页 学院 系统管理 查看内容

5分钟搞清楚实时操作系统与非实时操作系统的区别

2017-8-10 01:08| 投稿: xiaotiger |来自: 互联网

摘要: 导语谈到实时操作系统,大家一定会提起VxWorks在物联网开发过程中,经常会听到有人谈起实时操作系统,比如VxWorks,uC-OS II, RTLinux等等,那究竟什么才算是实时操作系统?我们平时用的操作系统,比如Windows,Linu ...

导语

谈到实时操作系统,大家一定会提起VxWorks

在物联网开发过程中,经常会听到有人谈起实时操作系统,比如VxWorks,uC-OS II, RTLinux等等,那究竟什么才算是实时操作系统?我们平时用的操作系统,比如Windows,Linux,是否算是实时操作系统呢?看完这篇文章,相信大家就明白了。

什么是实时操作系统

实时系统指系统的计算正确性不仅取决于计算的逻辑正确性,还取决于产生结果的时间。如果未满足系统的时间约束,则认为系统失效。

——Donal Gillies 在 Realtime Computing FAQ 中提出的定义。

大家普遍的一种意识是实时性意味着速度快,实际上实时性与任务执行的速度快并不是一回事,实时性的真正含义是指任务的(最迟)完成时间(Deadline)是可确定预知的。

操作系统面对的负载通常是变化的,有时任务少,有时任务重,实时操作系统要求无论负载多少,都必须保证满足时间要求。

所以实时操作系统追求的不是速度,而是任务执行时间的确定性。下面以Windows系统为例,说明实时性和速度不是一回事。

相信大家都有这样的经历,我们的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的物联网操作系统》介绍了很多Linux物联网系统,其中有不少是在Linux基础上做了实时性的改进,比如RTLinux等,这些系统都算是软实时产品。

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

小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册黑基账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!

本文出自:http://www.toutiao.com/a6431305118465949953/

免责声明:本文搜集整理自互联网,版权归原作者所有,文中所述不代表本站观点,若有侵权或转载等不当之处请联系我们处理,请我们一起为维护良好的互联网秩序而努力!联系方式见网站首页右下角。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论


新出炉

返回顶部