什么是实时操作系统 (RTOS)?

为您提供选择 RTOS 用于下一个嵌入式
系统项目的指南。

 
*在线购买仅限以下国家:美国、加拿大、日本、丹麦、芬兰、法国、德国、意大利、西班牙、瑞典、英国

什么是 RTOS 及其工作原理?

实时操作系统(RTOS)是一种具有两个关键特性:可预测性和确定性的操作系统。在 RTOS 中,重复任务会在严格的时间限制内完成,而在通用操作系统中则不一定如此。在这种情况下,可预测性和确定性密切相关:我们知道任务需要多长时间,并且它始终会产生相同的结果。

RTOS可以分为“软”实时系统和“硬”实时系统。软实时系统的反应时间通常在几百毫秒之内,与人类的反应相当。而硬实时系统则能在几十毫秒或更短的时间内提供可预测的响应。

操作系统分类

RTOS 对比操作系统

RTOS 是一种操作系统,但与大多数用户熟悉的操作系统有很大的不同。手机或个人电脑上的操作系统相对来说充满了各种应用和功能,必须能够支持用户今天可能需要执行的任何操作。而 RTOS 则更加简化,旨在快速、高效地执行其任务。其体积仅为普通操作系统的几分之一,有时只有几兆字节(相比之下,普通操作系统可能超过 20 GB),界面简单,并且缺少许多常见功能,例如网页浏览器。

实时操作系统(RTOS)的特性

RTOS 的 5 个特性
  • 确定性:相同的输入会始终产生相同的输出。
  • 高性能: RTOS 系统快速且响应迅速,通常可以在通用操作系统所需时间的一小部分内完成操作。
  • 功能安全和信息安全:RTOS 常用于当失败可能导致灾难性后果的关键系统中,例如机器人或飞行控制器。为了保护周围的人,它们必须具有更高的安全标准和更可靠的安全保障功能。
  • 基于优先级的调度:优先级调度意味着优先级高的任务会先执行,优先级低的任务随后执行。这意味着 RTOS 始终会执行最重要的任务。
  • 小体积: 与体积庞大的通用操作系统相比,RTOS 的体积仅为其一小部分。例如,安装更新后的 Windows 10 约占用 20 GB,而风河开物RTOS 的体积小约 20,000 倍,仅为个位数的兆字节大小。
嵌入式系统与 RTOS 的异同

嵌入式系统是嵌入到更大型机器中的计算机,例如机器人手臂上的微控制器。在具有一定时间灵活性的非关键系统中,开发者可以使用开源的通用操作系统(GPOS),如 Linux。Linux 功能齐全、灵活且广为人知。在关键系统中(无论是安全关键还是任务关键系统),开发者通常选择实时操作系统。RTOS 的独特特性往往是成功的关键。例如,工厂中的机器人手臂需要具有可预测性和可靠性,并且在员工进入其操作区域时必须能够立即停止。不确定性可能导致资源浪费、质量控制问题或人员伤害。

机器人手臂必须能够在员工进入其操作区域时立即停止

RTOS 在嵌入式系统中的应用

由于其优势,实时操作系统 (RTOS) 通常用于嵌入式系统,即在更大型操作的幕后运行的系统。RTOS 通常没有图形界面。有时,会同时集成多个操作系统,以在提供操作能力的同时兼具通用操作系统的可用性。

RTOS 经常用于智能边缘设备,也被称为机电边缘设备或信息物理系统。这意味着设备既在生成数据,也在处理数据。例如,一辆汽车能够监控其周围环境,并自主地实时对其做出反应。这类设备通常将人工智能或机器学习,或两者兼具,与实时组件集成,以增强底层结构的能力。

自动驾驶汽车需要能够实时监控其周围环境,并自主对其做出反应

RTOS 的特性和优势

RTOS 体积小、速度快、响应迅速且具有确定性。这意味着它能够快速高效地执行任务,每次都能按照预期响应。由于其宿主设备的重要性,RTOS 的基础结构更加安全,发生崩溃或故障的可能性较小。最后,RTOS 面向开发者,这意味着它会持续推出更新,以帮助用户更高效地编写代码。

商用 RTOS 与自研 RTOS 的优劣势

一些公司尝试自研 RTOS,根据其项目量身定制,而不是购买商用现成操作系统 (COTS)。这种方式有一些优势:操作系统是为特定用例专门设计的,公司可以深入了解其机制和内部工作原理。然而,这种方法通常更昂贵且更耗时,对于不熟悉操作系统开发的开发者来说,自研 RTOS 需要花费大量时间。使用商用系统则更快、更简单,并且可以获得经验丰富的技术团队的支持,以解答问题并提供帮助。操作系统是一种工具,就像锤子或钻头一样。虽然你可以自己制作一个完全掌控的操作系统,并且它可能更适合你的项目,但这需要花费大量时间,而且无法保证性能或功能。

为什么选择 RTOS?

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

影响实时系统的学科领域

RTOS 行业受到计算机硬件行业发展的深刻影响。当多核技术等新发展成为普遍现象时,操作系统会进行更新以支持这些新技术。人工智能、机器学习和 5G 等新兴技术也受到操作系统开发者的密切关注,因为行业的变化意味着系统必须支持多种用例。操作系统架构师必须同时考虑软件和硬件发展的趋势。随着领域的变化和开发者需求的转变,操作系统的更新必须支持新的编程语言、新技术以及新的部署方式。

诸如机器学习和 5G 等新兴技术正在受到操作系统开发者的密切关注

RTOS 架构

除了细节上的差异,RTOS 的设计主要受两种主流设计理念的影响:宏内核和微内核。这两种系统的主要区别在于其结构;宏内核系统运行在一个统一的空间中,而微内核系统将架构的不同组件分隔开来。

微内核系统

在微内核架构中,各个组件被存储在独立的“房间”中,这些房间彼此独立但共享同一空间。一个房间可以被单独修缮而不会影响周围的其他房间。然而,要从一个房间到另一个房间,必须通过“门口”并走过“走廊”,这会浪费时间。任何操作都必须返回内核后才能转移到其引用的组件,这意味着某些操作可能比必要的时间更长。

宏内核系统

在宏内核系统中,“房间”之间没有“墙壁”,因此可以更快速地从一个房间进入另一个房间。宏内核并不是实现一个小型内核,而是提供自身的服务,同时调控其他区域的服务。通常情况下,操作在内核空间中执行,消除了频繁返回内核的需求,从而提高了速度和性能。然而,对某个区域的修改可能会对整个系统产生影响。

微内核系统 宏内核系统
内核和操作被安置在不同的空间中,内核本身是精简的(因此被称为微内核)。操作空间彼此之间无法直接访问,必须返回内核才能进行操作。 内核和操作进程共享同一空间。操作执行速度更快,系统性能更高。然而,更新可能需要进行大范围的改动。

实时系统示例

RTOS 被广泛应用于全球无数产品中,仅风河开物RTOS 就为超过二十亿台设备提供支持。从汽车引擎到深空望远镜,从直升机导航系统到火星探测车,这些系统都使用运行实时操作系统的嵌入式系统。

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

嵌入式与实时操作系统
正在不断改变着世界

新方法论

对嵌入式系统的期望逐步影响到为其提供支持的操作系统。实时操作系统必须跟上创新的步伐,并采用现代化的开发实践。这意味着需要兼容新一代嵌入式系统开发者所使用的框架、语言和方法,同时在安全性、功能安全、性能或可靠性方面不能有任何妥协。

支持旧系统

性能、连接性和设计周期的创新进步正在使一些新产品迅速过时。这引发了如何处理旧系统的问题。持续为嵌入式应用重新编写代码在经济上不可行。而系统制造商则倾向于尽可能多地使用现有代码,尤其是在软件认证方面已经进行投资的情况下。

新硬件与虚拟化

基于多核硬件平台的进步使嵌入式系统和应用程序的整合成为可能。如今单个芯片可以容纳从 2 到 64 个 CPU,从而降低最终产品的成本、体积和重量。

虚拟化技术也加速了嵌入式系统的开发。多个嵌入式系统现在可以以虚拟化形式运行在单块硬件上的虚拟机管理程序上。这对于希望最大化现有知识产权投资并将旧应用程序迁移到新平台的制造商来说至关重要。

选择商用 RTOS 的因素

商用 RTOS 与开源 RTOS 的优劣对比

除了内部开发 RTOS 的选项外,开发人员还可以选择使用开源或社区驱动的操作系统。虽然这些系统也提供了实时操作系统的某些优势,但在其他关键领域却有所不足。较大规模的部署通常使用价格从数百到数百万美元不等的硬件板卡,这意味着开发者在硬件上的投资很大。在实施开源系统时遇到的问题可能会迅速推迟项目截止日期并增加预算。开源系统还缺乏有组织的支持,可能导致文档缺失或问题无法解决。而商用系统则拥有有组织的专业工程团队,可以帮助解决问题或提供解释。

商用系统的优势在于拥有一个有组织的专业工程团队

影响商用 RTOS 实施的常见业务挑战

  • 尽快抓住物联网 (IoT) 的巨大增长机遇
  • 通过领先的功能和能力实现产品差异化
  • 随着市场需求的变化为产品添加新功能,同时利用核心操作系统的投资,并尽量减少对已部署设备的风险
  • 降低平台成本
  • 减少实时系统部署的上市时间和开发风险
  • 在支持现有产品和开发新产品之间高效分配工程资源
  • 降低需要中到高级认证的实时、功能安全和信息安全能力平台的风险
  • 管理跨多个技术、产品线、开发组织和地域的日益复杂性

对功能安全认证的需求

如果需要功能安全认证,使用商用 RTOS 可以更轻松、更具成本效益地实现目标,同时降低进度风险。在进行安全认证评估时,商用 RTOS 必须提供认证证据页面或安全配置文件,以满足您的业务所需的特定认证要求。

硬件支持

商用 RTOS 拥有广泛的板级支持包 (BSP),用于协助板卡启动和设计。这些软件工具包使 RTOS 能够快速、轻松地适配特定类型的硬件。在风河,我们提供嵌入式软件行业中十分广泛的 BSP 范围。我们的每个包都经过测试和验证,以确保无缝互操作性,从而帮助您加速开发过程并创新设计。

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

商用 RTOS 成本

虽然商用 RTOS 的成本可能是一个主要问题,但也必须考虑其整体优势。这些优势包括竞争优势、缩短上市时间、降低成本、减少风险以及让人安心。重要的是要评估和验证其业务价值,以确定这些优势是否超过成本。

支付商用 RTOS 的使用费

在考虑商用 RTOS 时,可以研究通过生产许可证(PL)模式支付版税与一次性付费的选项。PL 模型是一种风险分担机制,有助于为您的业务成功创造财务激励。您的业务需求、成本结构和预算都会影响您的决策。

对新版本的兼容性与支持

长期性能、安全性和功能支持也是选择商用 RTOS 的重要因素。需要检查的一些方面比如有 API 兼容性和 POSIX® 合规性。了解核心操作系统内核在近期可能发生的变化,可以帮助您预测升级或回退版本所需的工作量。还可能需要考虑与网络和 BSP 相关的迁移问题,因此,确保所选方案具备必要的文档和专家支持以保证您的成功是至关重要的。

风河如何提供帮助?

风河开物RTOS:嵌入式系统的领先 RTOS

风河开物RTOS是行业中应用广泛的 RTOS,专为需要功能安全和信息安全的关键嵌入式系统设计。它提供了经过验证的实时和确定性运行时,并结合了现代化的开发方法。无论行业或设备类型如何,企业都依赖风河开物RTOS 在安全性、功能安全、高性能和可靠性方面的优秀传统。

优势与亮点
  • 具有30多年经过验证的成功记录
  • 提供本地化的端到端工程和销售支持
  • 支持现代开发语言(如 C/C++ 与 Boost、Rust 和 Python)
  • 支持 IT 类应用部署并兼容 OCI 容器的 RTOS
  • 支持 POSIX® PSE52
  • 提供多种板级支持包(BSP),并持续优化以支持各类处理器和片上系统(SoC)
  • 丰富的安全认证历史,包括 600 多个严格符合行业安全标准的项目
  • 提供完整源码访问,灵活定制您的产品

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

在风河公司,我们的嵌入式系统产品系列不仅仅局限于商用风河开物RTOS 解决方案。风河开物RTOS更适合需要认证、有知识产权(IP)问题、不能使用 GPL 代码以及/或者需要我们 IP 服务提供特定定制支持的项目。如果您的开发中存在不受支持的架构,我们还提供 Wind River Linux。我们的产品均由知名的全球客户支持和 IP 服务提供支持,以帮助您实现业务和项目目标。

IP 服务 支持与维护 开发工具
风河开物RTOS
内核
用户空间
网络
文件系统
连接性
信息安全
框架/语言
Linux
Yocto 项目
ISO 9001:2015
板级支持包 (BSP)
上游模型
原生支持
多核硬件

风河的产品和服务协同合作,以支持差异化的系统设计

觉得我们合适吗?

与风河专家交流,来确定您的业务是否可以从我们的技术能力中受益。

联系我们

实时操作系统 (RTOS):常见问题解答

RTOS 的常见功能包括任务调度、中断处理、任务间通信与同步、内存管理和设备驱动管理。RTOS 必须提供确定性和可预测的行为,以确保任务能够在其截止时间内完成。
RTOS(实时操作系统)是一种专门的软件系统,旨在管理和优先处理实时系统中的任务,这些任务具有严格的时间限制。它与传统操作系统的不同之处在于它能够保证对事件和任务的及时响应,非常适合任务关键型应用。
RTOS 广泛应用于具有严格时间要求的各种应用,例如医疗设备、工业控制系统、航空航天与国防系统、汽车电子和消费电子。它还常用于嵌入式系统中,这些系统对可靠性、功能安全和性能有很高要求。
RTOS 中的任务调度通常是基于优先级的,任务的优先级根据其紧急性和重要性分配。调度器使用抢占式算法选择最高优先级且准备就绪的任务,从而确保关键任务能够按时执行。
使用 RTOS 的优势包括可预测性和确定性行为,确保关键任务按时完成。此外,它还提供更好的资源管理、改进的响应能力和降低的系统开销,从而提高系统性能。
使用 RTOS 的挑战包括需要专业知识和经验来配置和优化系统。实时行为还会增加开发过程的复杂性,系统必须设计为能够处理意外事件和错误,以确保其保持可靠性和安全性。此外,RTOS 的成本可能高于传统操作系统。
没有“最好的” RTOS。像其他操作系统一样,每种 RTOS 都有其优缺点,具体的使用场景决定了最合适的选择。
不幸的是,很少有大学开设涵盖嵌入式工程领域的课程。在线资源和免费的 SDK(例如风河开物RTOS SDK)是练习实现的有用工具。此外,风河还提供课程,专注于解决智能系统的挑战,这些课程可以增加个人的人力资本,或帮助整个团队更快、更轻松地实现目标。
RTOS 在数据到达时立即处理,而无需缓存或刷新应用程序。这种机制支持在输入环境不断变化的系统中实现更快、更准确的响应。为此,内核被设计得精简且非侵入式,并且不会干扰操作系统的功能。
内核的运作类似于交响乐中的指挥家。它控制并协调其他功能,但自身并不直接参与工作,也不会干扰其他部分。然而,在 RTOS 中,当没有任务执行时,内核完全不做任何事情。
任务优先级因系统而异,但许多 RTOS 使用基于优先级的抢占式调度系统,优先执行最高优先级的任务。其他选项包括速率单调调度或最早截止时间优先调度。
由于成本经济且界面友好,树莓派因其娱乐和业余爱好用途而广受青睐。然而,与大多数其他开发板一样,树莓派支持多种操作系统,包括多个 RTOS。我们在 GitHub 上为树莓派 3B/3B+ 和树莓派 4B 提供了免费的风河开物RTOS SDK,这使开发者能够创建概念验证或更大项目的原型,或者仅仅熟悉实时操作系统。
虽然大多数操作系统都可以用于嵌入式环境,但嵌入式 Linux 在多个方面不同于标准的 Linux 发行版。与为通用用途设计的系统不同,嵌入式操作系统旨在执行特定任务,其设计体现了这一点。嵌入式 Linux 的体积小得多,并且缺少大部分图形接口。系统没有桌面,只有终端,因此除非开发者特别添加,系统中不会有应用程序或驱动程序。
Wind River Linux 专为不需要实时操作系统的确定性或安全关键功能的嵌入式系统设计。更重要的是,它可以免费下载安装。
在新兴的 5G 技术领域,RTOS 因其低延迟响应和利用更快通信的能力而发挥了重要作用。RTOS 也广泛应用于依赖机器学习的设备中,因为它能够在实时数据流到达时立即进行处理。
风河公司于 2019 年 12 月推出了兼容风河开物RTOS的 ROS2,这使得机器人操作系统可以集成到风河开物RTOS的构建中。