1.3.2 常见的嵌入式实时操作系统
1.AliOS Things
AliOS Things是阿里巴巴集团开发的面向物联网领域的高可用可伸缩操作系统。AliOS Things致力于搭建云端一体化物联网基础设施,具备极致性能、极简开发、云端一体、丰富组件、安全防护等特点,并支持终端设备连接到阿里云,广泛应用于智能家居、智慧城市、智能出行等领域。
2.Huawei LiteOS
Huawei LiteOS是华为公司面向物联网领域构建的轻量级操作系统,它以轻量级、低功耗、快速启动、互联互通、安全等特点,为开发者提供“一站式”完整软件平台,有效降低开发门槛、缩短开发周期,目前已支持ARM、X86的RISC-V处理器。
3.RT-Thread
RT-Thread是一个集实时操作系统内核、中间件组件于一体的开源实时操作系统(Real-Time Operating System,RTOS),是一个组件丰富、高度可伸缩、开发简易、超低功耗、高安全性的物联网操作系统,广泛应用于能源、车载、医疗、消费电子等多个行业。
4.μC/OS
μC/OS是美国嵌入式系统专家吉恩·J.拉伯罗斯(Jean J.Labrosse)用C语言编写的一个结构小巧、抢占式的多任务实时内核。μC/OS-Ⅱ能管理64个任务,μC/OS-Ⅲ理论上支持无限个任务管理,可提供任务调度与管理、内存管理、任务间同步与通信、时间管理和中断服务等功能,具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,广泛应用于MPU、MCU、DSP、SoPC等。
目前,Micrium公司提供嵌入式操作系统、组件和开发工具等软件产品,如μC/OS-MPU、μC/OS-MMU、μC/TimeSpaceOS、μC/TCP-IP、μC/GUI、μC/FS、μC/USB Device/Host、μC/CAN、μC/FL、μC/ModBus、μC/Probe,这些组件能够无缝地与μC/OS对接。该操作系统属于开源的商用系统。
5.VxWorks
VxWorks是美国WindRiver公司的产品,是目前嵌入式系统领域应用广泛,市场占有率较高的嵌入式操作系统。VxWorks由400多个相对独立的目标模块组成,用户可根据需要选择适当的模块来裁剪和配置系统。VxWorks提供基于优先级的任务调度、任务间同步与通信、中断处理、定时器和内存管理等功能,内建符合可移植操作系统接口规范的内存管理,以及多处理器控制程序,并且具有简明易懂的用户接口,在核心方面甚至可以微缩到8 KB。(https://www.daowen.com)
VxWorks因其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空航天等高精尖技术和对实时性要求极高的领域中,如于1997年7月4日登陆火星表面的“旅居者”(Sojourner)号火星车上就使用了VxWorks。
6.eCos
eCos(Embedded Configurable Operating System,嵌入式可配置操作系统)是一个源代码开放的可配置、可移植、面向深度嵌入式应用的实时操作系统。它的最大特点是配置灵活,采用模块化设计,核心部分由不同的组件构成,包括内核、C语言库和底层运行包等,每个组件可提供大量的配置选项(实时内核也作为可选配置)。使用eCos提供的配置工具可以很方便地进行配置,通过不同的配置,eCos能够满足不同的嵌入式应用要求。
7.Windows Embedded Compact
Windows Embedded Compact是一种针对小容量、移动式、智能化、32位、连接设备的模块化实时嵌入式操作系统。它针对掌上设备、无线设备的动态应用程序和服务提供了一种功能丰富的操作系统平台,属于软实时操作系统。它可以使用大多数Windows开发工具(如VB、VC等),大多数Windows应用程序经过移植后也可以在其上运行。
8.μClinux
μClinux是免费的嵌入式操作系统,是基于通用操作系统Linux内核的操作系统。同标准的Linux相比,μClinux的内核非常小。它仍然继承了Linux操作系统的主要特性,包括稳定性和可移植性、网络功能、文件系统、丰富的API(Application Program Interface,应用程序接口)以及TCP/IP网络协议等。由于其没有存储管理部件,所以用其实现多任务需要一定技巧。μClinux将进程分为实时进程和普通进程,分别采用“先来先服务”和“时间片轮转”调度,仅针对中低档嵌入式CPU特点进行改良,不支持内核抢占,实时性一般。
9.FreeRTOS
FreeRTOS是市场领先的面向MCU和小型MPU的实时操作系统,由英国的RTOS公司与世界领先的芯片公司合作开发。FreeRTOS使用麻省理工学院的开源许可免费分发,包括一个内核和一组不断丰富的IoT库,适用范围广,FreeRTOS的构建突出了可靠性和易用性。
本书将分析嵌入式实时操作系统(Embedded Real-Time Operating System,ERTOS)———FreeRTOS,该操作系统是开源、免费的,在嵌入式系统、物联网、边缘计算、人工智能等领域应用广泛。