什么是 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 的设计主要受两种主流设计理念的影响:宏内核和微内核。这两种系统的主要区别在于其结构;宏内核系统运行在一个统一的空间中,而微内核系统将架构的不同组件分隔开来。
微内核系统
在微内核架构中,各个组件被存储在独立的“房间”中,这些房间彼此独立但共享同一空间。一个房间可以被单独修缮而不会影响周围的其他房间。然而,要从一个房间到另一个房间,必须通过“门口”并走过“走廊”,这会浪费时间。任何操作都必须返回内核后才能转移到其引用的组件,这意味着某些操作可能比必要的时间更长。
宏内核系统
在宏内核系统中,“房间”之间没有“墙壁”,因此可以更快速地从一个房间进入另一个房间。宏内核并不是实现一个小型内核,而是提供自身的服务,同时调控其他区域的服务。通常情况下,操作在内核空间中执行,消除了频繁返回内核的需求,从而提高了速度和性能。然而,对某个区域的修改可能会对整个系统产生影响。
微内核系统 | 宏内核系统 |
---|---|
内核和操作被安置在不同的空间中,内核本身是精简的(因此被称为微内核)。操作空间彼此之间无法直接访问,必须返回内核才能进行操作。 | 内核和操作进程共享同一空间。操作执行速度更快,系统性能更高。然而,更新可能需要进行大范围的改动。 |
嵌入式与实时操作系统
正在不断改变着世界
新方法论
对嵌入式系统的期望逐步影响到为其提供支持的操作系统。实时操作系统必须跟上创新的步伐,并采用现代化的开发实践。这意味着需要兼容新一代嵌入式系统开发者所使用的框架、语言和方法,同时在安全性、功能安全、性能或可靠性方面不能有任何妥协。
支持旧系统
性能、连接性和设计周期的创新进步正在使一些新产品迅速过时。这引发了如何处理旧系统的问题。持续为嵌入式应用重新编写代码在经济上不可行。而系统制造商则倾向于尽可能多地使用现有代码,尤其是在软件认证方面已经进行投资的情况下。
新硬件与虚拟化
基于多核硬件平台的进步使嵌入式系统和应用程序的整合成为可能。如今单个芯片可以容纳从 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 多个严格符合行业安全标准的项目
- 提供完整源码访问,灵活定制您的产品