实时操作系统英文全名为real-time operating system,简写为RTOS,是一种系统软件,用于管理微控制器(MCU)或微处理器的硬件资源,并为应用程序调用提供服务。RTOS的实时性关键在于其最小的中断延迟和线程切换延迟。因此,RTOS具有可预测性和确定性。
操作系统的核心组件称为内核。 微内核架构在具有可配置功能的实时操作系统中实现。 抽象层由内核提供,内核为应用软件提供六种主要类型的通用服务。 他们是:
任务管理
应用程序分成了小的、可调度的和顺序执行的程序单元,称为“线程”或“任务”。RTOS内核的任务管理包括任务创建、终止、更改优先级等。
任务调度
RTOS记录每个任务的状态并确定要执行的最高优先级任务。RTOS会将已在运行的任务挂起,执行高优先级的任务。
任务同步
信息需要从一个任务或线程安全地传输到另一个任务。任务同步使任务能够相互共享缓冲区、I/O 设备等资源。
内存管理
RTOS为应用程序分配内存。 RTOS 有两种类型的内存管理:堆栈管理和堆管理。
时间管理
为了调度安排在规定时间内执行的任务,需要一个周期性的中断。硬件定时器可以编程使得处理器产生中断。时间中断称为 System Tick。
中断处理
CPU 通过中断获得异步事件。中断是一种硬件机制,通过中断函数处理事件,如中断服务程序的创建和删除。
设备 I/O 管理
设备 I/O 管理有助于提供统一的框架(API – 应用程序程序员接口)。设备I/O管理还有助于访问专用的硬件设备驱动程序。
使用RTOS会给项目设计带来很多的好处,主要体现在以下几个方面:
实时性。RTOS分配微控制器资源给线程或任务,可以给线程或任务配置优先级,RTOS的响应时间是恒定的。
RTOS优势 | 描述 |
---|
实时性 | RTOS线程资源分配,线程优先级 |
减少开销 | 一般应用添加轮询多增加开销,RTOS开销恒定高效 |
简化开发 | 非线程代码小易开发,设备功能增多代码化模块通信工作量增加,RTOS线程间通信服务 |
易于增加新功能 | RTOS保证高优先级线程的实时性能,维护添加功能容易,添加中间件扩展功能容易 |
简化应用可移植性 | 应用程序通过应用程序编程接口(API)访问其服务功能,相同的API可以运行在任何处理器上 |
安全认证 | 使用预先认证的RTOS,加快了系统认证过程 |
RTOS应用
RTOS广泛应用于工业设备、汽车电子,医疗保健设备、消费电子、电信设施、航空航天等领域。
RTOS的发展
RTOS的发展可以大致分为三个阶段:第一阶段 1980s ~ 2009年左右;第二阶段 2009年~2020年左右;第三阶段 2020年以后。
第一阶段,RTOS主要是以本机MCU资源管理为主,MCU资源管理的优化及可扩展性等。第二阶段,2009年中国提出了“感知中国”,推动了物联网的发展,RTOS应用主要体现在通信连接上。尤其是以Wi-Fi、蓝牙等为代表的无线技术迅速发展。众多的公司也推出了各种物联网平台,为物联网应用提供了强大的平台支撑,RTOS主要作用是在平台连接上。第三阶段,随着设备泛连接的发展,以及边缘计算的发,设备间的互联及互操作越来越多,需要一个安全可靠的RTOS来管理。设备互连将成为RTOS发展的一个重要方向。
RTOS发展的驱动力
RTOS的发展驱动力主要有以下几个方面:
- MCU性能不断地提升,资源不断地丰富,可实现的应用功能越来越多
- 设备智能化程度越来越高,MCU固件功能日益增多
- 物联网应用的发展,增加了通信连接管理的需求
- 中间件或组件丰富和扩展了RTOS的功能
- 人工智能(AI)技术不断地发展,RTOS将成为其关键的基础
快速发展的MCU产品性能越来越高,市场出现了几百MHz甚至上GHz的产品,其Flash容量可高达几M字节,这为RTOS运行提供了应用的基础条件。而当MCU固件容量越来越大时,其程序逻辑会越来越复杂,则可能会出现不确定的状态。这都需要RTOS来管理MCU的基本资源,RTOS会更加方便创建和管理任务。
物联网的发展,推动了通信连接管理、FOTA等的应用,RTOS成了连接管理的“底座”,不断地推动着RTOS的应用发展。RTOS也逐渐为互联网或物联网平台公司所重视,很多公司开始支持或发展自有的RTOS。RTOS在平台连接管理中,继续发挥着设备接入的管理角色。
中间件或组件提升了开发应用的效率,丰富和扩展了RTOS的功能。中间件或组件的维护、管理和更新都依赖于稳定的RTOS,中间件或组件的发展也促进了RTOS生态的发展。
随着MCU大规模地应用发展,对数据计算处理的需求日益增多,出现了面向计算的人工智能和机器学习,MCU使用经过训练的模型对数据进行计算处理,做出一些推断预测,提升了设备管理和自治的能力,RTOS也成为了其关键的基础。
Azure RTOS 简介
Azure RTOS 是一个嵌入式开发套件,其中包括小型但功能强大的操作系统,可为资源受限设备提供可靠、超高速的性能。它易于使用且经过市场验证,已部署在全球超过 100 亿的设备上。Azure RTOS 支持最常用的 32 位微控制器和嵌入式开发工具,因此你可以充分利用团队现有的技能。
Azure RTOS 是一个实时操作系统 (RTOS),适用于由微控制器 (MCU) 提供支持的物联网 (IoT) 和边缘设备。 Azure RTOS 旨在支持高度受限设备(电池供电,并且闪存容量不到 64 KB)。
Azure RTOS 经过预认证,符合各种安全标准。 其中包括 IEC 61508 SIL 4、IEC 62304 C 类和 ISO 26262 ASIL D 认证。
Azure RTOS 提供 EAL4+ 通用准则安全认证环境,包括通过 IPsec 实现的全 IP 层安全性以及通过 TLS 和 DTLS 实现的套接字层安全性。 我们的软件加密库已获得 FIPS 140-2 认证。 此外,我们还采用硬件加密功能、通过 ThreadX MODULES 实现的内存保护技术,以及 ARM TrustZone ARMv8-M 安全功能支持。
Azure RTOS 平台是运行时解决方案集合,组件包括 Azure RTOS ThreadX、Azure RTOS FileX、Azure RTOS GUIX、Azure RTOS NetX、Azure RTOS NetX Duo 和 Azure RTOS USBX等。