Skip to main content

实时操作系统(RTOSes)简介

如何选择合适的嵌入式实时操作系统

 

什么是实时操作系统,它是如何工作的?

实时操作系统(RTOS)具有可预测性和确定性。与一般的操作系统相比,实时操作系统能够在一个严格的时间限制内执行重复的任务。因此,其可预测性和确定性是相生相伴的:我们可以预测一个任务要花多长时间,而且输出的结果总是相同。

实时操作系统有硬实时和软实时之分。软实时系统可以在几百毫秒内做出反应,与人的反应速度相当;而硬实时系统则可在几十毫秒甚至更短时间内做出反应。

操作系统的分类

实时操作系统(RTOS)和通用操作系统(OS)的区别

实时操作系统与大多数人所熟悉的操作系统有很大不同。手机或电脑的操作系统是由丰富的APP和功能组成的,能够满足千变万化的用户需求。而实时操作系统旨在更快更高效地执行多种任务,它只占一小部分的空间,有时甚至只有几兆字节(相比20多GB),有一个简单的图形界面,但缺少许多熟知的功能,如网络浏览器。

实时系统的特点

实时操作系统的五大特点
  • 确定性:重复输入将导致输出内容也相同;
  • 高性能:实时操作系统反应速度快,相比通用操作系统,只需要花费一小段时间即可完成任务;
  • 安全性:实时操作系统常被用于安全关键型系统,如机器人或飞行控制器,以预防发生故障进而造成灾难性后果。为了确保安全,它们必须满足更严格的安全标准并具有更可靠的安全功能;
  • 优先级调度:优先级调度是指优先分配优先级高的任务,再分配优先级低的任务。基于此,实时操作系统始终优先执行最重要的任务;
  • 占用空间小:与庞大的通用操作系统相比,实时操作系统仅占据很小的空间。例如,Windows 10,加上安装后的更新,大约需要20GB。相比之下,VxWorks?的体积比其小20,000倍,只有几兆字节。
嵌入式系统与实时操作系统的异同点

嵌入式系统是指嵌入到一个较大机器中的计算机系统。例如,机械臂配置的微控制器。在具有一定时间灵活性的非关键系统中,开发人员可以使用开源的通用操作系统(GPOS),如Linux。Linux的丰富功能和灵活性是众所周知的。在关键系统中(不管是安全关键系统还是关键任务系统),开发人员通常会选择使用实时操作系统。实时操作系统的独特优势是致胜的关键。例如,工厂里的机械臂需具备可预测性和可靠性,当工人进入作业区时,它必须能够立即停止。如若不稳定,可能会导致资源浪费,引起质量问题甚至造成伤害。

当工人进入作业区时,机械臂必须能够立即停止

实时操作系统在嵌入式系统中的应用

由于其独特优势,实时操作系统常被用于整个大系统中的嵌入式系统部分,实时操作系统一般没有图形界面。偶尔也会同时集成多个操作系统,以提供强大的操作性能和通用操作系统的实用性。

实时操作系统常部署在智能边缘设备上,也被称为机电边缘或信息物理系统。设备产生数据的同时又能基于数据做出响应。举例来说,一辆汽车将能够实时识别周围环境并对其做出反应。这种设备通常将人工智能或机器学习,或两者与实时组件相结合,以增强底层结构的性能。

一辆自动驾驶汽车需能够实时识别周围环境并对其做出反应

实时操作系统的特点和优势

实时操作系统是一款快速响应、确定性的小型系统,能够快速高效地执行任务,并做出预期的响应。依托于安全关键的主机设备,实时操作系统架构更安全,崩溃的可能性也更小。实时操作系统是面向开发者的,因此会持续更新,以便帮助用户更有效地进行编码。

商用实时操作系统与内部实时操作系统的优势和风险

一些公司尝试开发适合自己特定项目的实时操作系统,而不是购买商用现货操作系统。这样做有一定优势。操作系统是针对特定的应用案例而设计的,而且各公司了解各自内部的运作机制。但其弊端是成本高昂而且耗时,不适应的开发人员需要花费大量的时间来开发一个操作系统。商用系统使用起来更简便快捷,且配备经验丰富的技术团队,负责答疑解惑并提供技术支持。操作系统是一种工具,就好比一个锤子或钻头。量身定制一款操作系统无疑将会花费大量的时间,而且性能无法保证。

为何使用实时操作系统?

在可靠性和可重复操作性要求高的应用程序中,实时操作系统比通用操作系统更受青睐。特别是在可靠性和速度至关重要的嵌入式或关键系统中,更需要实时操作系统。

影响实时系统的领域

实时操作系统行业在很大程度上受到计算机硬件行业发展的影响。随着多核技术等新技术推广开来,操作系统也在不断演变升级。行业的发展催生了一系列应用案例,对操作系统提出了更高的要求。因此,操作系统开发者需要密切关注人工智能、机器学习和5G等新兴技术的动态。操作系统架构师必须将软件和硬件的发展趋势纳入考虑。随着行业以及开发人员的发展进步,系统更新必须适应新语言、新技术和新部署。

操作系统开发者需要密切关注人工智能、机器学习和5G等新兴技术的动态

实时操作系统架构

除了这些微小的细节之外,实时操作系统主要遵循这两种设计理念:宏内核与微内核。二者区别在于它们的结构:宏内核系统运行在单一的内核空间,而微内核系统则将微内核架构分成若干组件。

微内核系统

在微内核架构中,组件被存储在独立的“房间”中,它们彼此独立,但共享相似的空间。每一个房间的动作不会对周围其他房间造成干扰。然而,要从一个房间到另一个房间,必须跨过门槛,穿过大厅,这个过程很耗时。任何操作都必须先返回内核,然后才能移动到目标组件,因此有些操作可能会花费更长的时间。

宏内核系统

在一个宏内核系统中,房间之间没有“墙”,因此可以更快地从一个房间移动到另一个房间。不同于小内核,宏内核不仅服务自身,还管理其他区域的服务。除特殊情况外,所有操作都是在内核空间中执行的,而无需重新返回内核,因而提高了速度和性能。然而,一个区域的变更调整可能会影响整个系统。

微内核系统 宏内核系统
内核和操作进程位于不同的空间,内核是裸露的(因而体积较小)。各操作空间不能互访,必须返回到内核。 内核和操作进程共享同一个空间,操作速度更快,系统性能更高。但是更新也必须绑定在一起同时进行。

实时系统实例

全球有无数产品搭载了实时操作系统,仅VxWorks就被超过20亿台设备使用。从汽车发动机到太空望远镜,从直升机制导系统到火星车,都搭载了运行实时操作系统的嵌入式系统。

航空航天与国防 电信 交通运输 医疗 制造业
  • 飞行控制器
  • 涡轮发动机
  • 无人机
  • 太空漫游车
  • 5G 调制解调器
  • 卫星调制解调器
  • 基站
  • 功能安全系统
  • 紧急制动系统
  • 发动机警告系统
  • 磁共振成像
  • S手术设备
  • 呼吸机
  • 工厂机器人系统
  • 安全系统
  • 石油和天然气振动监测系统

不断演变的嵌入式实时操作系统

新方法

如今,人们的关注点已从嵌入式系统转移到其所搭载的操作系统上。实时操作系统必须跟上创新的步伐,拥抱现代化开发实践,以适应新一代嵌入式系统开发者所采用的框架、语言和方法,并确保信息安全性、功能安全性、高性能及可靠性。

支持旧版系统

系统的创新进步在优化性能和连接性、缩短设计周期的同时,加速了产品的更新迭代。随之而来的是如何处理旧版系统的问题。持续重新编码嵌入式应用程序成本高昂。另一方面,系统制造商希望尽可能使用现有的代码,特别是在已经投资认证软件的时候。

新硬件和虚拟化

随着多核硬件平台的进步,嵌入式系统和应用得到了整合。单个芯片能够包含2到64个CPU,有助于降低最终产品的成本、减小尺寸和重量。

虚拟化也加速了嵌入式系统的发展。如今,多个嵌入式系统可以通过硬件上的hypervisor实现虚拟化运行。这对于那些希望最大限度地利用现有IP投资、从传统应用向新平台过渡的制造商来说至关重要。

影响商用实时操作系统选择的因素

商用实时操作系统与开源操作系统的优势

除了内部实时操作系统,开发人员还可以选择使用开源的或基于社区的操作系统。虽然这些系统包含实时操作系统的一些优势,但它们在其他关键领域还存在不足。规模较大的部署通常会使用价值数百、数千甚至数百万美元的板卡,这意味着开发者在硬件方面的投资会很大。在实施开源系统过程中如果遇到问题,可能会导致工期紧张甚至超支。开源系统缺乏强有力的支持,可能会导致知识库缺失或故障无法解决。相比之下,商用系统配有专业的技术团队,负责提供技术支持或答疑解惑。

商用系统拥有专业的技术团队加持

影响商用实时操作系统实施的常见业务挑战

  • 把握物联网带来的巨大增长机会
  • 以领先的特性和功能使产品差异化
  • field不断丰富产品功能,以满足不断变化的市场需求,同时利用好核心操作系统,从而最大限度地降低已部署设备的风险
  • 降低平台成本
  • 缩短部署实时系统的上市时间、降低开发风险
  • 高效分配技术资源,以便更好地维护现有产品和开发新产品
  • 降低中高等级实时安全认证平台的风险
  • 管理涉及多种技术、产品线、开发组织和地域的复杂问题

安全认证需求

为了满足安全认证需求,商用实时操作系统不失为一种简便经济的方法,同时还有助于降低进度风险。在安全认证的评估中,商用实时操作系统须为贵企业提供所需的认证证据页或安全配置文件/功能安全套件。

Hardware Support

商用实时操作系统拥有广泛的板卡支持包,便于构建和设计板卡。有了这些软件包,实时操作系统变得简单易用。在风河,我们提供了业界最全面的嵌入式软件板卡支持包。我们的每一个软件包都经过测试和验证,具有无缝互操作性,可以帮助您加速开发、创新设计。

业务需求、成本结构和预算都会影响决策

商用实时操作系统的成本

虽然人们无法接受商用实时操作系统的成本,但其整体优势不可否认,包括竞争优势、上市时间、节约成本、降低风险和省心省力等方面。为此,有必要进行商业价值的开发和测试,以评估成本效益。

支付商用实时操作系统版权费

考虑使用商用实时操作系统时,首先要研究到底是通过生产许可(PL)模式还是预付款模式来支付版权费。PL模式下,风险共担,而且通过建立财务激励机制,可推动企业取得成功。业务需求、成本结构和预算都会影响决策。

兼容性和支持新版本

长期的性能、安全和功能支持也是影响商用实时操作系统选择的因素。API兼容性和POSIX?标准符合性等方面仍有待考究。洞察核心操作系统内核的未来变化,可帮助评估升级或回滚到先前版本要费多少功夫。考虑到网络和板卡支持包的迁移,关键是所选择的方案要有必要的知识库和专家支持。

风河如何助力?

VxWorks:领先的嵌入式实时操作系统

VxWorks是业界最可信、部署最为广泛的实时操作系统,可用于确保关键任务嵌入式系统的信息安全和功能安全。VxWorks具有实时性和确定性,并结合了现代化开发方法,为各行各业的企业提供功能安全、信息安全、高性能与可靠性。

优势和亮点
  • 超过30年成功应用记录
  • 本地化端到端技术支持和销售支持
  • 支持现代开发语言(C/C++以及Boost、Rust、Python)
  • 唯一一个支持符合IT标准的应用部署和OCI容器的实时操作系统
  • POSIX® PSE52
  • 拥有广泛的板卡支持包,持续优化以支持最先进的处理器和系统级芯片
  • 通过多项安全标准认证,成功应用于600多个安全认证项目,满足最严苛的行业安全标准
  • 可提供完整的源代码访问权限,根据您的需求灵活定制产品

嵌入式系统设计的补充解决方案

风河的嵌入式系统产品组合包括但不限于VxWorks商用实时操作系统。VxWorks可能更适合于需要认证、涉及专业问题、不能使用GPL代码和/或需要我们的专业服务支持的项目。如果您在开发中遇到架构不支持问题,还可以使用Wind River Linux。不管使用我们哪一款产品,客户均可获取荣膺殊荣的全球风河支持团队援助,以实现业务和项目目标。

专业服务 支持和维护 开发工具
VxWorks
内核
用户空间
网络
文件系统
连接
安全
框架/语言
Linux
Yocto项目
ISO 9001:2015
板卡支持包
上游模式
Native
多核硬件

风河的产品和服务共同支持差异化的系统设计。

觉得我们挺合适?

欢迎咨询风河专家,了解贵企业是否会受益于风河技术增长服务。

联系我们

实时操作系统常见问题

实时操作系统的主要特征是实时性和确定性,并在尺寸和响应能力等方面具有诸多优势,优于一般操作系统。
不,并非如此。Linux是通用操作系统,适用于各类型计算机,还提供适配于非关键嵌入式系统的其他版本。Linux版本的某些更新或许看似实时操作系统,但其实缺少实时操作系统的很多关键特征。
没有“最佳”选项。恰如其他操作系统,每个实时操作系统都有优缺点,最佳选择其实取决于具体用途。
目前,很少有高校提供嵌入式工程领域的相关课程。在线资源和免费SDK(如VxWorks SDK)可作为实践练习的得力工具。此外,风河还提供应对智能系统各挑战的诸多课程,有利于提升个人能力,帮助团队更快速、更便捷地实现目标。
接收数据后,实时操作系统中的应用程序可即刻开始处理数据。同时,为不妨碍操作系统内核功能,尽量精简内核功能并与应用程序分开,以面对不断变化的输入环境,这一设计可支持更快速、更准确地系统响应。
内核的角色好比交响乐团中的指挥一职,负责控制和调节其他功能,同时不妨碍系统运行。若实时操作系统无可执行的操作,则内核暂停运行。
任务优先级各不相同。很多实时操作系统都使用基于优先级的抢占式调度系统,优先执行优先级最高的任务;此外,还会依单调速率调度或最早截止时间优先(EDF)调度。
凭借经济成本优势和用户友好界面,Raspberry Pi备受娱乐和业余爱好等使用者青睐。与其他大多主板一样,Raspberry Pi支持各类操作系统,包括诸多实时操作系统。我们在GitHub中为Raspberry Pi 3B/3B+和Raspberry Pi 4B提供免费的VxWorks SDK,方便开发者们熟悉实时操作系统,为更大型项目创建概念验证或原型样机。
虽然大多操作系统都可用于嵌入式环境,但嵌入式Linux不同于Linux标准版。Linux标准版为通用操作系统,而嵌入式Linux则是为执行特定操作而构建,两者设计理念不同。该系统尺寸较小,可达指数级,交互界面没有大量图形,没有桌面,直接向终端开放,除非开发者有特别设计,否则一般没有应用程序或驱动程序。
Wind River Linux适配于无需强实时、强确定性操作系统或安全关键性等特性的嵌入式系统。更重要的是,Wind River Linux可免费下载安装。
在5G技术新兴领域中,实时操作系统凭借其低延迟响应和更快通信等特性和能力脱颖而出。由于实时操作系统接收数据后即可立即处理数据,因而还可用于依赖机器学习、拥有实时数据流的设备。
风河于2019年12月推出了VxWorks ROS2。自此,VxWorks可构建并使用机器人操作系统(ROS)。