如何选择合适的嵌入式实时操作系统
实时操作系统(RTOS)具有可预测性和确定性。与一般的操作系统相比,实时操作系统能够在一个严格的时间限制内执行重复的任务。因此,其可预测性和确定性是相生相伴的:我们可以预测一个任务要花多长时间,而且输出的结果总是相同。
实时操作系统有硬实时和软实时之分。软实时系统可以在几百毫秒内做出反应,与人的反应速度相当;而硬实时系统则可在几十毫秒甚至更短时间内做出反应。
操作系统的分类
实时操作系统与大多数人所熟悉的操作系统有很大不同。手机或电脑的操作系统是由丰富的APP和功能组成的,能够满足千变万化的用户需求。而实时操作系统旨在更快更高效地执行多种任务,它只占一小部分的空间,有时甚至只有几兆字节(相比20多GB),有一个简单的图形界面,但缺少许多熟知的功能,如网络浏览器。
嵌入式系统是指嵌入到一个较大机器中的计算机系统。例如,机械臂配置的微控制器。在具有一定时间灵活性的非关键系统中,开发人员可以使用开源的通用操作系统(GPOS),如Linux。Linux的丰富功能和灵活性是众所周知的。在关键系统中(不管是安全关键系统还是关键任务系统),开发人员通常会选择使用实时操作系统。实时操作系统的独特优势是致胜的关键。例如,工厂里的机械臂需具备可预测性和可靠性,当工人进入作业区时,它必须能够立即停止。如若不稳定,可能会导致资源浪费,引起质量问题甚至造成伤害。
当工人进入作业区时,机械臂必须能够立即停止
由于其独特优势,实时操作系统常被用于整个大系统中的嵌入式系统部分,实时操作系统一般没有图形界面。偶尔也会同时集成多个操作系统,以提供强大的操作性能和通用操作系统的实用性。
实时操作系统常部署在智能边缘设备上,也被称为机电边缘或信息物理系统。设备产生数据的同时又能基于数据做出响应。举例来说,一辆汽车将能够实时识别周围环境并对其做出反应。这种设备通常将人工智能或机器学习,或两者与实时组件相结合,以增强底层结构的性能。
一辆自动驾驶汽车需能够实时识别周围环境并对其做出反应
实时操作系统是一款快速响应、确定性的小型系统,能够快速高效地执行任务,并做出预期的响应。依托于安全关键的主机设备,实时操作系统架构更安全,崩溃的可能性也更小。实时操作系统是面向开发者的,因此会持续更新,以便帮助用户更有效地进行编码。
一些公司尝试开发适合自己特定项目的实时操作系统,而不是购买商用现货操作系统。这样做有一定优势。操作系统是针对特定的应用案例而设计的,而且各公司了解各自内部的运作机制。但其弊端是成本高昂而且耗时,不适应的开发人员需要花费大量的时间来开发一个操作系统。商用系统使用起来更简便快捷,且配备经验丰富的技术团队,负责答疑解惑并提供技术支持。操作系统是一种工具,就好比一个锤子或钻头。量身定制一款操作系统无疑将会花费大量的时间,而且性能无法保证。
在可靠性和可重复操作性要求高的应用程序中,实时操作系统比通用操作系统更受青睐。特别是在可靠性和速度至关重要的嵌入式或关键系统中,更需要实时操作系统。
实时操作系统行业在很大程度上受到计算机硬件行业发展的影响。随着多核技术等新技术推广开来,操作系统也在不断演变升级。行业的发展催生了一系列应用案例,对操作系统提出了更高的要求。因此,操作系统开发者需要密切关注人工智能、机器学习和5G等新兴技术的动态。操作系统架构师必须将软件和硬件的发展趋势纳入考虑。随着行业以及开发人员的发展进步,系统更新必须适应新语言、新技术和新部署。
操作系统开发者需要密切关注人工智能、机器学习和5G等新兴技术的动态
除了这些微小的细节之外,实时操作系统主要遵循这两种设计理念:宏内核与微内核。二者区别在于它们的结构:宏内核系统运行在单一的内核空间,而微内核系统则将微内核架构分成若干组件。
在微内核架构中,组件被存储在独立的“房间”中,它们彼此独立,但共享相似的空间。每一个房间的动作不会对周围其他房间造成干扰。然而,要从一个房间到另一个房间,必须跨过门槛,穿过大厅,这个过程很耗时。任何操作都必须先返回内核,然后才能移动到目标组件,因此有些操作可能会花费更长的时间。
在一个宏内核系统中,房间之间没有“墙”,因此可以更快地从一个房间移动到另一个房间。不同于小内核,宏内核不仅服务自身,还管理其他区域的服务。除特殊情况外,所有操作都是在内核空间中执行的,而无需重新返回内核,因而提高了速度和性能。然而,一个区域的变更调整可能会影响整个系统。
全球有无数产品搭载了实时操作系统,仅VxWorks就被超过20亿台设备使用。从汽车发动机到太空望远镜,从直升机制导系统到火星车,都搭载了运行实时操作系统的嵌入式系统。
如今,人们的关注点已从嵌入式系统转移到其所搭载的操作系统上。实时操作系统必须跟上创新的步伐,拥抱现代化开发实践,以适应新一代嵌入式系统开发者所采用的框架、语言和方法,并确保信息安全性、功能安全性、高性能及可靠性。
系统的创新进步在优化性能和连接性、缩短设计周期的同时,加速了产品的更新迭代。随之而来的是如何处理旧版系统的问题。持续重新编码嵌入式应用程序成本高昂。另一方面,系统制造商希望尽可能使用现有的代码,特别是在已经投资认证软件的时候。
随着多核硬件平台的进步,嵌入式系统和应用得到了整合。单个芯片能够包含2到64个CPU,有助于降低最终产品的成本、减小尺寸和重量。
虚拟化也加速了嵌入式系统的发展。如今,多个嵌入式系统可以通过硬件上的hypervisor实现虚拟化运行。这对于那些希望最大限度地利用现有IP投资、从传统应用向新平台过渡的制造商来说至关重要。
除了内部实时操作系统,开发人员还可以选择使用开源的或基于社区的操作系统。虽然这些系统包含实时操作系统的一些优势,但它们在其他关键领域还存在不足。规模较大的部署通常会使用价值数百、数千甚至数百万美元的板卡,这意味着开发者在硬件方面的投资会很大。在实施开源系统过程中如果遇到问题,可能会导致工期紧张甚至超支。开源系统缺乏强有力的支持,可能会导致知识库缺失或故障无法解决。相比之下,商用系统配有专业的技术团队,负责提供技术支持或答疑解惑。
商用系统拥有专业的技术团队加持
为了满足安全认证需求,商用实时操作系统不失为一种简便经济的方法,同时还有助于降低进度风险。在安全认证的评估中,商用实时操作系统须为贵企业提供所需的认证证据页或安全配置文件/功能安全套件。
商用实时操作系统拥有广泛的板卡支持包,便于构建和设计板卡。有了这些软件包,实时操作系统变得简单易用。在风河,我们提供了业界最全面的嵌入式软件板卡支持包。我们的每一个软件包都经过测试和验证,具有无缝互操作性,可以帮助您加速开发、创新设计。
业务需求、成本结构和预算都会影响决策
虽然人们无法接受商用实时操作系统的成本,但其整体优势不可否认,包括竞争优势、上市时间、节约成本、降低风险和省心省力等方面。为此,有必要进行商业价值的开发和测试,以评估成本效益。
考虑使用商用实时操作系统时,首先要研究到底是通过生产许可(PL)模式还是预付款模式来支付版权费。PL模式下,风险共担,而且通过建立财务激励机制,可推动企业取得成功。业务需求、成本结构和预算都会影响决策。
长期的性能、安全和功能支持也是影响商用实时操作系统选择的因素。API兼容性和POSIX?标准符合性等方面仍有待考究。洞察核心操作系统内核的未来变化,可帮助评估升级或回滚到先前版本要费多少功夫。考虑到网络和板卡支持包的迁移,关键是所选择的方案要有必要的知识库和专家支持。
VxWorks是业界最可信、部署最为广泛的实时操作系统,可用于确保关键任务嵌入式系统的信息安全和功能安全。VxWorks具有实时性和确定性,并结合了现代化开发方法,为各行各业的企业提供功能安全、信息安全、高性能与可靠性。
风河的嵌入式系统产品组合包括但不限于VxWorks商用实时操作系统。VxWorks可能更适合于需要认证、涉及专业问题、不能使用GPL代码和/或需要我们的专业服务支持的项目。如果您在开发中遇到架构不支持问题,还可以使用Wind River Linux。不管使用我们哪一款产品,客户均可获取荣膺殊荣的全球风河支持团队援助,以实现业务和项目目标。
风河的产品和服务共同支持差异化的系统设计。
By submitting this form you agree that your personal information will be used by Wind River to process this request and send you further information about Wind River products and services pursuant to our privacy notice located here: windriver.com/company/terms/privacy.
Thank you for your interest.