最佳实时操作系统
在本文中,您将了解最佳实时操作系统。但是在讨论最佳实时操作系统之前,您应该了解实时操作系统。
什么是实时操作系统
实时操作系统是开发用于支持按数据到达方式处理数据的实时应用程序的操作系统。它在特定时间执行任务。计算的逻辑结果和生成结果所需的时间决定系统输出的正确性。它包含实时任务调度方法。它主要用于嵌入式系统。对于必须在特定时间内执行的定时应用程序或操作,它非常理想。它利用严格的时间限制来推动任务在外部上下文中的完成。
实时操作系统需要准确和及时的结果,这意味着结果必须在特定的时间范围内生成,否则系统将失败。它主要用于控制设备应用程序,包括汽车发动机燃油喷射系统、工业控制系统、武器系统和医学成像系统。
在实时操作系统中,程序在主内存和辅助内存之间进行交换。通常将进程保留在主内存中以提供快速响应,并且实时系统的内存管理要求较低。
实时操作系统的特点
实时操作系统有各种特点。一些实时操作系统的特点如下:
1. 性能
在选择实时操作系统时,最关键的要素是性能。它比其他操作系统提供更好的性能。
2. 任务切换
在这些系统中,用于切换任务的时间非常有限。例如,早期系统需要大约10微秒,而现代系统只需要3微秒从一个任务切换到另一个任务。
3. 无错误
实时操作系统是无错误的操作系统。因此,在完成任务时不存在出错的风险。
4. 独特特性
一个优秀的实时操作系统应该具备一些额外的特性,例如执行命令的方式、高效的内存保护等。
5. 中间件
如果实时操作系统缺乏中间件功能,则系统中会出现耗时的过程集成问题。
6. 最大消耗
实时操作系统提供帮助以实现最大的消耗。
7. 嵌入式系统使用
实时操作系统程序体积较小。因此,实时操作系统经常用于嵌入式设备。
8. 任务切换
实时操作系统的任务切换非常少。
顶级实时操作系统
下面,我们将讨论一些顶级实时操作系统。一些实时操作系统如下:
- VxWorks
- embOS
- FreeRTOS操作系统
- LynxOS
- PikeOS
- Keil RTX RTOS
- Nucleus RTOS
- Azure RTOS
- QNX Neutrino RTOS
- MQX RTOS
VxWorks
VxWorks 是由Wind River Systems开发的专有软件的实时操作系统,Wind River Systems是Aptiv公司的全资子公司。它首次发布于 1987年 ,主要为需要实时和确定性性能的嵌入式系统设计。许多行业需要安全和安全认证,包括航空航天和工业设备、能源、交通运输、网络基础设施、医疗设备、机器人技术、国防、汽车和消费电子等。
VxWorks支持AMD和Intel架构、POWER架构、ARM架构和RISC-V架构。它支持 32位 和 64位 处理器。它可以在多核 对称和非对称多处理 、混合模式和操作系统架构中使用。
VxWorks操作系统包括内核、第三方软件、中间件、Wind River Workbench开发套件、板级支持包和硬件技术。VxWorks 7的RTOS经过重新设计,具有灵活性和可升级性,因此操作系统内核与应用程序、中间件和其他软件包是分开的。
VxWorks操作系统的特点
VxWorks操作系统具有多种特性,如下所示:
- 提供内存保护。
- 提供实时处理器。
- 拥有错误处理框架。
- 拥有64位操作系统。
- 提供Internet协议版本6(IPv6)网络栈。
- 包括各种文件系统,如高可靠性文件系统(HRFS)、网络文件系统(NFS)和磁盘操作系统文件系统(DOSFS)。
- 支持对称多处理和非对称多处理。
embOS操作系统
这是一个优先级控制的实时操作系统。它自1992年以来一直在持续开发,并旨在用作构建嵌入式应用程序的基础。embOS已经安装在数十亿台设备上,涵盖许多应用领域,并与所有主要内核、编译器和开发工具兼容。
自1992年以来,它一直是嵌入式工程师的领先RTOS解决方案。它简单易用,确保任何嵌入式设备具有可预测的实时操作。它非常便携且源代码兼容所有平台,使得将应用程序移植到不同内核变得轻松。任务可以通过使用信号量、邮箱和事件等通信方法快速建立并安全地相互通信。中断服务例程(ISRs)也可以从这些通信机制中受益。
embOS操作系统特点
embOS操作系统具有各种特点。其中一些特点如下:
- 提供强大且易于使用的API。
- 具有零中断延迟。
- 在各个应用领域中使用了数十亿设备。
- embOS是一款免版税的操作系统,可在无限数量的项目中使用,并附带1年技术支持和免费更新。
- 适用于所有著名的编译器、内核和开发工具。
- 性能高,内存使用率低。
FreeRTOS操作系统
FreeRTOS 是一个嵌入式实时操作系统内核,已经被移植到35个不同的微控制器系统上。它以MIT许可证发布。在 2003年 ,Richard Barry创建了FreeRTOS内核,后来由Barry的公司 Real-Time Engineers Ltd. 进行开发和维护。在 2017年 ,该公司将FreeRTOS项目的控制权交给了 亚马逊网络服务(AWS) 。Barry继续作为AWS团队的一部分继续开发FreeRTOS。
微控制器用于具有非常精确和专注任务的嵌入式程序。终端应用的大小限制和专用性很少需要和允许使用完整的实时操作系统实现。因此,FreeRTOS仅包括任务间通信、定时、实时调度和同步原语。
FreeRTOS操作系统的特性
FreeRTOS操作系统具有各种特性。一些FreeRTOS操作系统的特性有:
- 它为各种架构和开发工具提供了一个单一而独立的解决方案。
- 它提供了一个良好、良好管理、活跃的免费支持论坛。
- FreeRTOS为应用程序提供了一个更小、更用户友好的实时处理选项,这些应用程序不适合eCOS、嵌入式Linux甚至uCLinux,或者无法接受或使用这些选项。
- 它对商业应用程序是免费的。
- 它确保在需要时提供商业帮助。
- 它非常可扩展、简单易用。
LynxOS
LynxOS 是一种基于UNIX的实时操作系统,由 Lynx Software Technologies 开发。它通常被称为Lynx操作系统,是一个符合POSIX标准并具有Linux兼容性的操作系统。它主要用于实时嵌入式系统,如航天航空、军事、工业控制和电信应用。因此,它与军用级别的安全协议(如著名的TLS / SSL库wolfSSL)配合使用。
Mitchell Bunnell 于 1986年 在 德克萨斯州达拉斯 为一个定制的基于Motorola 68010的系统开发了LynxOS的初始版本。它首次在Atari 1040ST上运行,跨平台开发在Integrated Solutions UNIX机上进行。LynxOS操作系统被移植到了Intel 80386 架构上。它包括ABI与System V.3的兼容性,于 1989年 发布。
LynxOS的组件是为硬实时性能而构建的,这意味着它们会在可预测的时间内给出响应。由于内核的独特线程模型,可预测的响应时间可以在大量输入/输出情况下提供保证,并且可以使中断例程非常短且快速。
LynxOS操作系统于 2003年 发布了LynxOS的专业版 LynxOS-178 ,主要为需要符合DO-178B等行业标准认证的航空应用设计。
LynxOS操作系统的特点
LynxOS操作系统具有多种特点,其中一些特点如下:
- 它提供实时调度。
- 它具有完全符合POSIX和Linux兼容性的特点。
- 它主要用于军事目的,因为它与军用级别的安全协议(如著名的TLS / SSL库wolfSSL)兼容。
- 它主要用于实时嵌入式系统,如航天航空、军事和工业过程控制。
- 它提供了基于GCC的工具链。
- 它提供了访问控制和加密安全性。
PikeOS
PikeOS 是一种实时操作系统,为许多其他操作系统和应用程序提供基于分离内核的虚拟机。它允许您创建适用于具有严格安全要求的环境的设备。它符合汽车、航空航天和太空、铁路、医疗和工业自动化市场的高安全标准。
由于其分离内核架构,PikeOS是需要防护免受网络安全攻击的系统的首选。它还被用于几个高关键通信基础设施中,这些基础设施拥有数百万个物联网和边缘系统。
它结合了虚拟化和实时性。它使您能够将许多复杂的嵌入式电路板整合到一个硬件部件中。它不受创新硬件概念的限制,例如具有多个异构CPU核心的大型 SoCs(片上系统) 。最后,当涉及认证时,它提供适当的认证包,以帮助您处理认证机构。
它运行在多个架构上。它还提供支持带有 内存管理单元(MMU) 的处理器和只包含 内存保护单元(MPU) 的较简单的SoCs。
PikeOS操作系统的特点
PikeOS操作系统有各种特点。PikeOS操作系统的一些特点包括:
- 它支持快速和安全的启动时间。
- 它通过一个系统中的分离内核支持混合关键性。
- 通过利用标准的开发和验证技术,它缩短了上市时间。
- 它提供对内核驱动程序和用户空间驱动程序的支持。
- 它在家族和处理器类型之间提供硬件独立性。
Keil RTX RTOS
Keil RTX是一款免费且确定性的RTOS,专为ARM7TmTDMI、ARM9Tm和CortexTm-M CPU核心设计。它运行速度快,在最小的MCU资源使用情况下,仅占用5KB的内存(ROM)。它可以用于开发同时执行多个操作或任务的应用程序。它使您能够创建同时运行多个功能的程序,并帮助创建结构更好、更易维护的应用程序。在没有RTOS的情况下,也可以开发实时应用程序。通过实时操作系统,可以更好地解决各种调度、维护和定时问题。例如,实时操作系统允许对系统资源(如CPU和内存)和活动之间的通信进行灵活调度。
RTX RTOS的特性
RTX RTOS具有各种特性。RTX RTOS的一些特性。
- 易于使用。它在µVision IDE/Debugger中得到广泛支持,包括支持RTX的工具,可快速调试实时应用程序。
- 由于其小的内存占用(ROM可降低到5KB)和高性能,Keil RTX5非常适合嵌入式系统。可从多种选项中选择最佳的内核调度选项。
- 具有完全确定性的行为,这意味着事件和中断将按照一组规则处理。处理时间可预测和一致,应用程序可以依靠它们。
- 支持多线程和线程安全操作。
- 附带免费的Keil MDK。它是完全可定制的,并在Apache 2.0许可下在Github上进行开发。
- 适用于功能安全应用。
Nucleus RTOS
Nucleus RTOS 由 Mentor Graphics嵌入式软件事业部 提供,它是为医疗、消费品、工业、航空航天和物联网等实时嵌入式系统设计的。它支持 32位 和 64位 嵌入式平台。它首次发布于 1993年。 Nucleus RTOS v3.x是最新版本,包括64位支持、安全认证、电源管理、进程模型以及对异构多核SoC的支持等功能。
它的进程模型包括用于任务和模块隔离的SOC的空间域划分。它还包括基于ARMv7/8 Cortex-A/R/M核的内存管理单元(MMU)或内存保护单元(MPU)。
它是一个高度可扩展的基于微内核的RTOS,已在超过30亿台设备中使用,并专为可伸缩性和可靠性而构建。通过易于内存分配支持,可以在各种空间、工业和医疗应用中使用具有或不具有MMU和MPU支持的保护系统,提高系统可靠性。开发人员可以利用SMP和AMP设置在微控制器和微处理器SoC的各个操作系统中充分利用多核解决方案。
Nucleus RTOS的特点
Nucleus RTOS具有各种功能。一些Nucleus RTOS的特点。
- 它是一个稳定的确定性内核,占用内存小。
- 它提供了用于FAT、LWEXT和SAFE的文件系统软件。
- 它提供了数据和网络安全。
- 它具有基于Eclipse的集成开发工具。
- 它具有内存分区的进程模型,通过MMU和非MMU可提高产品可靠性。
- 它提供对USB 2.0和3.0的支持。
Azure RTOS
Azure 实时操作系统是一个嵌入式开发套件,其中包含一个小型但高效的操作系统,能够为资源受限设备提供一致且超快的性能。它易于使用且经过市场验证。Azure RTOS支持最常见的32位微控制器。全球已经有超过100亿台设备安装了它。
Azure RTOS已经预认证了各种安全标准。包括IEC 61508 SIL 4认证、ISO 26262 ASIL D认证和IEC 62304 Class C认证。它提供了一个安全的EAL4+ Common Criteria认证环境,通过IPsec提供完整的IP层安全性,通过TLS和DTLS提供套接字层安全性。软件加密库已获得FIPS 140-2认证。您还可以通过ThreadX MODULES使用内存保护,硬件加密功能和ARM的TrustZone ARMv8-M安全功能。
Azure RTOS的特点
Azure RTOS具有各种特性。以下是Azure RTOS的某些特点:
- 它提供了快速的性能,并且具有非常小的体积。
- 它的代码经过验证,符合高行业安全和安全标准。
- 它连接到云和本地网络。它还有助于开发持久的闪存文件系统和设计优雅的用户界面。
- 它还连接到流行的MPU和MCU。
QNX Neutrino RTOS
QNX Neutrino RTOS 是一款商业 Unix-like 实时操作系统,主要为嵌入式系统市场设计。它是最早的商业成功的微内核操作系统之一。它在 1980年代初 由 Quantum Software Systems 开发,后来改名为 QNX Software Systems。2010年, BlackBerry Limited 收购了 QNS Software Systems。
嵌入式系统设计师可以使用 QNX Neutrino 操作系统来创建吸引人、安全和可靠的设备,该设备基于高度可靠的操作系统软件基础,可防止系统故障、恶意软件和网络安全漏洞。它是一个功能齐全、稳健的操作系统,可以缩小以满足实时嵌入式系统的资源限制。其微内核设计和模块化架构使客户能够开发高度优化和可靠的系统,拥有低拥有成本。
QNX Neutrino RTOS的特点
QNX Neutrino RTOS具有各种特点。QNX Neutrino RTOS的一些特点。
- 微内核架构使QNX Neutrino RTOS具备在医院、核电站甚至空间站等关键任务应用中运行所需的可靠性。
- 它支持以太网和Wi-Fi 802.11上的IPv4/IPv6,并提供DNS、DHCP、FTP、HTTP、Telnet、PPP、TFTP、防火墙、NFS和NTP等典型网络服务。由于支持POSIX API,它很容易集成其他开源网络组件。
- 即时设备激活(IDA)使车载系统能够在操作系统启动之前智能运行。
- 它具有轻量级的占用空间,有助于更快的启动时间。微内核可以在不到250毫秒的时间内启动。
- 资源管理器框架通过POSIX接口为所有程序提供了集成新技术和服务的能力。
MQX RTOS
MQX 代表Message Queue eXecutive。它是由 Precise Software Technologies, Inc. 设计的实时操作系统。目前由 Synopsys, Embedded Access, Inc. 和 NXP Semiconductors 出售。它提供紧凑灵活的实时性能。它旨在让您设置和平衡代码大小和性能需求。它与NXP最新的处理器紧密集成,并包含广泛使用的设备驱动程序。它与CodeWarrior,IAR和Keil工具集成,以实现任务感知调试。
它包括TCP/IP协议栈(RTCS),USB主机/设备协议栈,设计,基于嵌入式文件分配表的DOS文件系统(MFS),调试和性能分析工具。它还支持常用的传输层安全(TLS)和安全套接层(SSL)的库,如wolfSSL,提供高安全性。
它通常用于嵌入式设备。它在运行UNIX或Windows的主机机器上开发,并将目标软件交叉编译以在多个目标CPU架构上运行。它已经移植到各种平台,现在支持最新的嵌入式CPU,包括PowerPC,ARC,Kinetis,ColdFire,ARM,StrongARM和xScale。
MQX RTOS的特点
MQX RTOS具有各种功能。 MQX RTOS的一些特点:
- 它可以设计为在Arm Cortex M4上使用至少8 KB的ROM和2.5K RAM,包括内核,1个LW信号量,中断堆栈,2个任务应用程序,队列和内存管理。
- 基于优先级的抢占式调度确保高优先级线程始终按时完成任务,无论有多少其他线程竞争CPU资源。
- 这个操作系统的代码编写非常简单,具有完整的API和可用的参考文档。
- 关键组件包括在完整版本和轻量级版本中,以控制RAM / ROM的消耗量,大小和性能选项。
- 通过消除创建和维护有效的调度系统和中断处理的负担,它为开发人员提供更快的开发时间。如果您需要使用USB或TCP / IP等各种通信协议,它也非常有益。
- 它为创建和组织NXP广泛的嵌入式处理器组合中的功能提供了一个具有简单API的框架。
- 可以在执行在同一处理器上甚至在系统中的不同处理器上的进程之间交换消息。
- 快速引导序列确保当硬件被重置时程序快速运行。