Is Open Source the Cure for RTOS?

Last month, an inconspicuous news sparked a stir in the embedded industry.Microsoft announced that it would host Azure RTOS at the Eclipse Foundation, rename it to Eclipse ThreadX, and transition to an open-source model.

At that time, embedded systems expert Jacob Beningo said: “This is good news because it will allow embedded developers to access high-quality RTOS for free, which is exciting, and I think it will change the game.”
It is worth noting that Azure RTOS was once known as ThreadX, and Microsoft claims that it will be the world’s first open-source real-time operating system (RTOS).
Is open source the future cure for RTOS?
Electronic Engineering World (ID: EEWorldbbs) | Comprehensive

Is Open Source the Cure for RTOS? ThreadX, used in 12 billion devices, is now open source Is Open Source the Cure for RTOS?

The story of Azure RTOS dates back to April 18, 2019.
At that time, the ThreadX operating system was acquired by Microsoft, and its owner, Express Logic, was fully acquired. Since then, its name has also been changed to Azure RTOS. Microsoft’s acquisition of ThreadX may have been a response to Amazon Web Services taking over FreeRTOS. After the acquisition, the original developer of ThreadX, William Lamie, chose to leave and founded a new company specializing in selling a “fifth-generation” RTOS with POSIX compatible threads called PX5OS.
Even during the ThreadX era, it had over 6.2 billion deployments, making it one of the most widely deployed RTOS globally according to VDC Research surveys.
Currently, Azure RTOS has been deployed in over 12 billion devices worldwide. In addition to the Azure RTOS ThreadX as the RTOS kernel, Azure RTOS also provides a set of system components to accelerate the construction of embedded systems and IoT applications.
Under the management of the foundation, the Eclipse ThreadX project is planned to be open-sourced under the MIT license in the first quarter of 2024. ThreadX will become the world’s first open-source real-time operating system.
In summary, the ThreadX operating system used in 12 billion devices is officially open-sourced.
Is Open Source the Cure for RTOS?
ThreadX itself remains a well-proven, mature product, with components like the STM32 version even passing TÜV functional safety (FuSa) certification. This has established strong appeal among specific customer groups.
In addition to the project itself, the Eclipse Foundation has also established a technical interest group focused on building a sustainable financing model for ThreadX supported by the industry. Currently, AMD, Cypherbridge, Microsoft, NXP, PX5, Renesas, STMicroelectronics, Silicon Labs, and Witekio (a subsidiary of Avnet) are actively involved.
As early as the acquisition of ThreadX, EEworld users had posted analyses: (Original post address: http://www.eeworld.com.cn/aTu9q9O)
  • Because it was acquired by Microsoft, many people are deeply concerned about this. When GitHub was acquired, many people switched to GitLab. Although there haven’t been too many negative changes so far, the future is uncertain; moreover, historically, how many open-source technologies and startups have been forgotten after being acquired by Apple, Google, and Microsoft;
  • It was originally a commercial system, and aside from previous paying customers, open sourcing will inevitably expand some audiences, especially since it is currently the highest level of safety RTOS. As learning materials become abundant, it will definitely compress the space of other RTOS;
  • It will definitely have a significant impact. Microsoft wants to develop Azure IoT, and this RTOS is essential; at least it will not be abandoned in this direction. ThreadX is too mature and powerful. If it weren’t for historical reasons, it might become a regular tool in the selection toolbox.
Regarding this news, embedded systems expert voices interpreted it as follows:
  • Renowned embedded systems expert He Xiaoqing pointed out that although ThreadX is not very influential in China, it will affect the embedded systems ecosystem, especially overseas chip companies; domestic RTOS needs to continue to raise protective barriers;
  • μC/OS author JEAN LABROSSE stated that open source is a major trend. FreeRTOS was integrated into Amazon, Micrium was acquired by Silicon Labs, and ThreadX was integrated into Microsoft and then open-sourced; Zephyr is also open-source software. Even so, for commercial projects, it is best to purchase commercial RTOS because technical support can be obtained.

Is Open Source the Cure for RTOS? Open source is the source of innovation for RTOS Is Open Source the Cure for RTOS?

In a survey about embedded systems, it was written: Currently, the usage efficiency of open-source operating systems is 42%, while the usage rate of commercial operating systems is 24%, and the proportion continues to decline. 35% value complete code support when choosing an operating system, 31% choose better technical support, 29% choose software, systems, and tools support the best, 29% prefer free options, 26% prefer strong immediacy, 26% prefer user-modifiable options, and 24% prefer open-source options.
“Open source is an important driving force for the development of the software industry.” This is what He Xiaoqing wrote in his paper “The Yesterday, Today, and Tomorrow of Embedded Real-Time Operating Systems.” In his paper, he analyzed:
Open-source operating systems represented by Linux have taken root in the electronic information industry. However, in the field of embedded real-time operating systems, there is not a well-known project comparable to Linux; historically, well-known RTOS open-source projects were mainly active in the 1990s, 2000s, and after 2010.

RTEMS Open Source Project

RTEMS (Real-Time Executive for Multiprocessor Systems) is an open-source real-time embedded operating system.
In the 1990s, the United States began to use RTEMS for defense systems, and its early name was “Real-Time Missile System,” later renamed to “Real-Time Military System.” RTEMS was the first RTOS to support POSIX, TCP/IP protocols, and multiprocessor architectures, supporting many classic microprocessors such as PPC/68K/MIPS/Arm.
RTEMS project activity has remained high, now maintained by OAR Corporation. During the same period, open-source RTOS like eCos was acquired by RedHat, then abandoned, and its fame and activity are not as high as RTEMS. eCos’s biggest feature is its configurable kernel, which is written in C++.

FreeRTOS Open Source Project

FreeRTOS is an open-source project created by Richard Barry in the UK. FreeRTOS began in the early 2000s, and each version undergoes complete testing before being officially released as a compressed package to ensure product stability. In 2017, FreeRTOS became an open-source project under Amazon, and versions after FreeRTOS v10.0 use the MIT open-source license.
FreeRTOS initially focused on microcontrollers, with a small code size and open-source availability. With the rapid development of the Internet of Things, FreeRTOS has become the leading small real-time operating system in the market. In 2017, FreeRTOS was downloaded every 3 minutes, making it one of the most popular RTOS among developers.
FreeRTOS also has commercial versions like OpenRTOS and the safety version SAFERTOS. SAFERTOS is a safety-certified embedded real-time operating system for microcontrollers. SAFERTOS and its industrial design package have been pre-certified by TÜV SÜD’s IEC 61508 SIL 3.

Zephyr Open Source Project

The Zephyr project is an open-source real-time operating system project initiated by Intel, Synopsys, NXP Semiconductors, and others in 2016, now managed by the Linux Foundation. The project aims to build a scalable real-time operating system for resource-constrained small devices, uniting industry leaders.
From the perspective of the Zephyr community, Zephyr aims to cover application markets that Linux cannot support. Zephyr has a relatively short history but a high starting point, thanks to the accumulation of initiating companies and the project team’s years of experience. The initial code of Zephyr came from Wind River, whose VxWorks RTOS is highly influential in the industrial and aerospace fields.
Compared to open-source RTOS like FreeRTOS and Contiki, Zephyr has a complete architecture and rich middleware. In terms of security design, Zephyr has meticulous considerations, follows MISRAC standards; in functional safety certification, Zephyr chooses to support IEC61508 and considers support for automotive safety standards ISO26262.
These functions are not achievable by other open-source RTOS projects. Zephyr has a vibrant international development community, highly active in the integration of new technologies in IoT and AI, such as supporting machine learning TensorFlow Lite for Microcontrollers and security architecture Arm TrustZone. Zephyr also integrates Arm TF-M security firmware.
Zephyr currently has relatively low attention in China, but its technological product development ideas are worthy of reference for domestic operating systems. In recent years, domestic open-source RTOS has developed rapidly, with well-known products like RT-Thread and OpenHarmony. RT-Thread is an open-source RTOS very familiar to domestic developers, with a broad ecological foundation and market share in the Chinese IoT market, and has recently open-sourced the RT-Smart microkernel operating system. RT-Smart focuses on supporting safety, multicore, and high-performance processors, and its open-source RT-Smart will play a positive role in the ecological construction of the high-end embedded market.

Is Open Source the Cure for RTOS? Which RTOS have gone open source? Is Open Source the Cure for RTOS?

Two months ago, the website SourceForge, known as the world’s largest open-source software development platform and repository, released a “2023 RTOS List,” in which the domestic real-time operating system RT-Thread has made the list, and the domestic RTOS Huawei LiteOS has also made the list. The specific list is as follows:
VxWorks
RT-Thread
FreeRTOS
Mbed OS
embOS
INTEGRITY
LynxOS
SCIOPTA
Keil RTX
PikeOS
QNX Neutrino
Huawei LiteOS
OpenWrt
Azure RTOS
Zephyr
Apache NuttX
Below are some typical open-source RTOS:
1. Domestic Operating Systems Introduction
1.1. Huawei LiteOS
On May 20, 2015, at the Huawei Network Conference 2015, Huawei released Agile Network 3.0, which mainly includes the lightweight IoT operating system LiteOS, agile IoT gateways, and agile controllers. Huawei’s Strategic Marketing President Xu Wenwei introduced that LiteOS is only 10KB in size and is open-source, making smart hardware development simpler.
Huawei LiteOS is part of Huawei’s 1+2+1 IoT solution, following the BSD-3 open-source license. Since its open source, it has reached cooperation with some manufacturers and home appliance companies. Huawei hopes to build LiteOS into an IoT operating system for IoT terminals like Android through open-source and openness.
Huawei LiteOS has “zero configuration,” “self-discovery,” and “self-organizing network” capabilities, allowing IoT terminals using LiteOS to automatically connect to supported networks. Huawei LiteOS will make smart hardware development simpler, thus accelerating the realization of interconnectivity of all things.
1.2. Alibaba AliOS Things
AliOS Things is a lightweight embedded operating system for the IoT field, dedicated to building integrated IoT infrastructure in the cloud. It has extreme performance, ultra-simple development, cloud integration, rich components, and security protection capabilities, and supports terminal devices connecting to Alibaba Cloud Link, widely applicable in smart homes, smart cities, and new mobility fields.
1.3. Wingtech SylixOs
Wingtech Information is a high-tech enterprise in China with complete independent intellectual property rights for large real-time operating systems. The technical team has over ten years of embedded system design experience, focusing on providing professional solutions for self-controllable fields.
The company’s main product is the SylixOS independent real-time operating system, which began development in 2006 and has become a fully functional, stable, reliable, and easy-to-develop real-time system platform after years of continuous development and improvement.
Currently, Wingtech Information is becoming a leader in the domestic high-reliability, high-performance real-time software development platform. Experts at Wingtech Information provide customers with comprehensive hardware and software solutions in the field of real-time operating systems, ensuring the real-time reliability and information security of customer products, shortening customer product development cycles, reducing customer product development costs, and improving the autonomy rate of customer products. Wingtech Information’s solutions cover various fields such as network equipment, national defense security, industrial automation, rail transit, electricity, medical, aerospace, and automotive electronics.
1.4. RT-Thread
RT-Thread is a technology platform that integrates real-time operating system (RTOS) kernel, middleware components, and developer community, developed by Mr. Xiong Puxiang and the open-source community. RT-Thread is also an IoT operating system with complete, rich components, highly scalable, easy development, ultra-low power consumption, and high security. RT-Thread has all the key components required for an IoT OS platform, such as GUI, network protocol stack, secure transmission, low-power components, etc. After 11 years of cumulative development, RT-Thread has become the largest embedded open-source community in China, widely used in energy, automotive, medical, consumer electronics, and other industries, with over 200 million installations, becoming the most mature, stable, and widely installed open-source RTOS developed by Chinese developers.
RT-Thread has a good software ecosystem, supporting all mainstream compilation tools on the market such as GCC, Keil, and IAR. The toolchain is complete and user-friendly, supporting various standard interfaces such as POSIX, CMSIS, C++ application environments, and Javascript execution environments, making it easy for developers to port various applications. Commercial support covers all mainstream MCU architectures, such as ARM Cortex-M/R/A, MIPS, X86, Xtensa, C-Sky, RISC-V, and almost all mainstream MCUs and Wi-Fi chips on the market.
1.5. Tencent TencentOS tiny
TencentOS tiny is a real-time operating system developed by Tencent for the IoT field, featuring low power consumption, low resource usage, modularity, and reliability, effectively enhancing the development efficiency of IoT terminal products.
TencentOS tiny provides a streamlined RTOS kernel, with kernel components that can be trimmed and configured, and can be quickly ported to various mainstream MCUs and module chips. Moreover, rich IoT components are provided based on the RTOS kernel, integrating mainstream IoT protocol stacks (such as CoAP/MQTT/TLS/DTLS/LoRaWAN/NB-IoT, etc.), facilitating the rapid connection of IoT terminal devices and services to Tencent Cloud IoT platform.
1.6. China Mobile OneOS
OneOS is a lightweight operating system launched by China Mobile for the IoT field, featuring trimness, cross-platform compatibility, low power consumption, and high security. It is compatible with POSIX, CMSIS, and other standard interfaces, supports Micropython language development, and provides graphical development tools. In October 2021, OneOS passed IEC61508 SIL3 functional safety certification. In January 2022, OneOS passed CCRC EAL4+ security certification (EAL4+).
2. Introduction to Foreign Operating Systems
2.1. FreeRTOS
FreeRTOS is a mini real-time operating system kernel. As a lightweight operating system, its functions include: task management, time management, semaphores, message queues, memory management, logging functions, software timers, coroutines, etc., which can basically meet the needs of smaller systems.
This operating system is widely used by many manufacturers on lightweight CPUs due to its simplicity and ease of use.
2.2. mbed OS
Open-source embedded operating system, ARM provides mbed OS free of charge to all manufacturers. Mbed provides a relatively more systematic and comprehensive development environment for smart hardware.
It provides a general operating system foundation for developing IoT devices to solve the fragmentation of embedded design. It supports all important connectivity and device management open standards for future-oriented designs. It enables secure and upgradeable edge devices to support new processing capabilities and functions. It addresses complex power consumption issues through automatic power management.
mbed OS development speed is fast, functionality is powerful, security is high, designed for mass production, can be developed offline, and can also be edited on the web.
2.3. UCOS-II
μC/OS-II is a well-known open-source real-time kernel designed for embedded applications, suitable for 8-bit, 16-bit, and 32-bit microcontrollers or digital signal processors (DSP). It has undergone significant improvements and upgrades based on the original version μC/OS, and has nearly ten years of practical use, with many successful applications of this real-time kernel.
Its main features are as follows:
1) Open-source, making it easy to port the operating system to various different hardware platforms;
Portability: Most of the source code is written in C language, making it easy to port to other microprocessors;
2) Firmness;
3) Customizability: selectively use necessary system services to reduce the required storage space;
4) Preemptive: it is a fully preemptive real-time kernel, which always runs the highest priority task under ready conditions;
5) Multitasking: can manage 64 tasks, with different priorities for each task, does not support time-slice scheduling;
6) Determinism: function calls and service execution times have determinism, not dependent on the number of tasks;
7) Practicality and reliability: successful applications of this real-time kernel are the best evidence of its practicality and reliability.
Since μC/OS-II is just a real-time kernel, it means that unlike other real-time operating systems, it does not provide users with just some API function interfaces; there is still a lot of work for users to complete by themselves.
2.4. Zephyr
Zephyr is one of the fastest-growing real-time operating systems (RTOS). Its charter sets ambitious goals for connected and constrained devices (learn more >>), but it is not just a real-time operating system. It is an open-source and openly managed project with a complete and growing ecosystem, including drivers, communication stacks, hardware abstraction, low-power operating system services, build systems, and application components, allowing for the rapid creation of innovative applications.
Zephyr’s development is attributed to the large community supporting the project, which continually advances the project status through pull requests, testing, bug reporting, categorization, and RFCs. The project recently celebrated the birth of its second long-term support version (LTS2). At the time of the LTS2 release, the project had 1,384 different contributors, supporting 400 boards and 12 different architectures. Zephyr is scalable and open-source.
2.5. NuttX
NuttX is an extensible real-time operating system released by Gregory Nutt in 2017 and officially entered the Apache Foundation in 2019, becoming an Apache incubation project. It has two main features:
High scalability: NuttX supports a variety of CPUs from 8-bit to 64-bit, and all its functions can be trimmed and configured, allowing users to select the necessary components.
Compliance: NuttX’s system API natively supports standard POSIX interfaces and a complete C standard library, making it easy to port some Linux/Unix programs to NuttX with minimal changes.
2.6. eCos
eCos, which stands for Embedded Configurable Operating System, is an open-source, configurable, portable real-time operating system aimed at deeply embedded applications.
The biggest feature is its flexible configuration, with a modular design, where the core part consists of small components, including the kernel, C language library, and underlying runtime package. Each component can provide a large number of configuration options (the real-time kernel can also be an optional configuration), and it can be easily configured using the configuration tools provided by eCos, allowing eCos to meet different embedded application requirements through different configurations.
eCos’s configurability is very powerful, allowing users to add the necessary file systems. The eCos operating system also supports most currently popular embedded CPUs and can be ported across different architectures, such as 16-bit, 32-bit, and 64-bit.
Due to its small kernel, the minimum size of eCos after trimming can be as small as 10 KB, with the minimum required data RAM space being 10 KB.

References

[1] Voice of Embedded Systems Experts: Azure RTOS is open-sourced, what is the future of commercial RTOS? 2023.11.29.https://mp.weixin.qq.com/s/PP6AoXDpgFwt0RyRaDLDzw
[2] InfoQ: The world’s first open-source real-time operating system! ThreadX, developed for over 20 years and deployed in over 12 billion devices, is officially open-sourced. 2023.11.30.https://mp.weixin.qq.com/s/iRXqa4VMR8BUmZUgPp1G6g
[3] strongerHuang: 2023 RTOS List: Domestic RT-Thread makes the list, μCOS drops out. 2023.10.27.https://mp.weixin.qq.com/s/8Kc6XjUZgL3rIvAeQKVS-A
[4] He Xiaoqing. The Yesterday, Today, and Tomorrow of Embedded Real-Time Operating Systems. China Computer Society Communications[J]. 2023.2-19.2
[5] NXP Guest House: Open-source RTOS, why should we choose Zephyr? The hardest core answer is here~. 2022.1.28.https://mp.weixin.qq.com/s/AW9bQ5VZYc58r0Jm5jLrBw
[6] Embedded Intelligence Bureau: 14 mainstream embedded operating systems, how many do you recognize? 2022.4.16.https://mp.weixin.qq.com/s/IPU_zkgAOVOEKnfqe4J20g

· END ·

Is Open Source the Cure for RTOS?

Leave a Comment

Your email address will not be published. Required fields are marked *