Embedded Operating Systems (RTOS) that meet real-time control requirements
Below are 14 mainstream RTOS, includingμClinux、μC/OS-II、eCos、FreeRTOS、mbed OS、RTX、Vxworks、QNX、NuttX,and domestic embedded operating systems include the Dujiangyan Operating System (djyos)、Alios Things、Huawei LiteOS、RT-Thread、SylixOS。
Below are the characteristics of these 14 embedded operating systems.
1. μClinux
μClinux is an excellent version of embedded Linux, whose full name is micro-control Linux, literally meaning micro-control Linux.
Compared to standard Linux, μClinux has a very small kernel, but it still inherits the main features of the Linux operating system, including good stability and portability, strong networking capabilities, excellent file system support, a rich set of standard APIs, and TCP/IP network protocols. Due to the absence of an MMU (Memory Management Unit), its multitasking implementation requires certain techniques.
Structurally, μClinux inherits the multitasking implementation method of standard Linux, dividing processes into real-time processes and ordinary processes, using first-come-first-served and time-slice round-robin scheduling, modified specifically for the characteristics of mid-range embedded CPUs, and does not support kernel preemption, resulting in average real-time performance.
In summary, the biggest feature of μClinux is its design for MMU-less processors, which is suitable for the STM32F103 that lacks MMU functionality. However, porting this system requires at least 512KB of RAM space and 1MB of ROM/FLASH space, while the STM32F103 has 256K of FLASH, necessitating external storage, which increases hardware design costs.
μClinux has a complex structure, is relatively difficult to port, and has a larger kernel, with somewhat poorer real-time performance. If the embedded product being developed emphasizes file systems and network applications, μClinux is a good choice.

2. μC/OS-II
μC/OS-II is developed based on μC/OS and is a compact, preemptive multitasking real-time kernel written in C. μC/OS-II can manage 64 tasks and provides task scheduling and management, memory management, inter-task synchronization and communication, time management, and interrupt service functions, characterized by high execution efficiency, small footprint, excellent real-time performance, and strong scalability.
In terms of file system support, since μC/OS-II is aimed at small to medium embedded systems, even with all features included, the compiled kernel is less than 10 KB, so the system itself does not provide file system support. However, μC/OS-II has good extensibility, and users can add file system content as needed.
Regarding hardware support, μC/OS-II can support most popular CPUs. The kernel is very small, and the minimum code size after trimming can be as low as 2KB, with a minimum data RAM requirement of 4KB. Porting μC/OS-II is relatively simple, requiring only modifications to processor-related code.
In summary, μC/OS-II is a simple, fully functional, and highly real-time embedded operating system kernel, very suitable for CPUs without MMU functionality. It requires very little kernel code space and data storage space, has good real-time performance, good scalability, and is open-source, with abundant online resources and examples, making it very suitable for porting to the STM32F103 CPU.

3. eCos

eCos (embedded Configurable operating system), which stands for Embedded Configurable Operating System.
It is an open-source, configurable, portable real-time operating system aimed at deeply embedded applications.
The main feature is its flexible configuration, using a modular design, with the core part consisting of small components, including the kernel, C language library, and low-level runtime packages.
Each component can provide a large number of configuration options (the real-time kernel can also be an optional configuration), and using the configuration tools provided by eCos, it can be easily configured to meet different embedded application requirements.
eCos has strong configurability, allowing users to add the required file systems. It also supports most popular embedded CPUs and can be ported across different architectures, including 16-bit, 32-bit, and 64-bit.
Due to its small kernel, the trimmed code can be as small as 10 KB, with a minimum data RAM requirement of 10 KB.
In terms of system portability, eCos is easier to port than μC/OS-II and μClinux.
In summary, eCos’s main feature is its flexible configuration and support for MMU-less CPU porting, being open-source with good portability, making it suitable for porting to STM32 platform CPUs. However, eCos is not as widely used as μC/OS-II and has less documentation available. eCos is suitable for commercial or industrial embedded systems that are cost-sensitive, such as certain applications in consumer electronics.
4. FreeRTOS

Since RTOS requires certain system resources (especially RAM), only a few real-time operating systems like μC/OS-II, embOS, salvo, and FreeRTOS can run on small RAM microcontrollers.
Compared to commercial operating systems like C/OS-II and embOS, FreeRTOS is a completely free operating system, featuring open-source code, portability, modularity, and flexible scheduling policies, making it easy to port to various microcontrollers. Its latest version is 6.0.
As a lightweight operating system, FreeRTOS provides functionalities including task management, time management, semaphores, message queues, memory management, and logging, which can basically meet the needs of smaller systems.
The FreeRTOS kernel supports priority scheduling algorithms, allowing each task to be assigned a priority based on its importance, with the CPU always running the highest priority ready task first.
The FreeRTOS kernel also supports round-robin scheduling, allowing different tasks to share CPU time when no higher priority tasks are ready.
FreeRTOS has its drawbacks: compared to the common μC/OS-II operating system, FreeRTOS has both advantages and disadvantages. Its shortcomings are reflected in the system service functions, as FreeRTOS only provides implementations for message queues and semaphores, and cannot send messages to message queues in a last-in-first-out order. Additionally, FreeRTOS is just an operating system kernel and requires third-party extensions for GUI (Graphical User Interface), TCP/IP protocol stack, FS (File System), etc., to implement a more complex system, unlike μC/OS-II which can seamlessly integrate with μC/GUI, μC/FS, μC/TCP-IP, etc.
5. mbed OS
Open-source embedded operating system, ARM provides mbed OS free for all manufacturers, offering a relatively systematic and comprehensive development environment for smart hardware.
Main functions:
Provides a general operating system foundation for developing IoT devices to solve the fragmentation problem in embedded design. Supports all major connectivity and device management open standards for future-oriented designs. Enables secure, upgradeable edge devices to support new processing capabilities and functionalities. Addresses complex energy consumption issues through automatic power management.
Main features:
Fast development speed, powerful functionality, high security, designed for mass production, can be developed offline or edited on the web.

6. RTX
RTX is an embedded real-time operating system from ARM, written in standard C structure and compiled using the RealView compiler. It is not just a real-time kernel but also has rich middleware components, is free, and the code is open.
Main functions:
Start and stop tasks (processes), and also supports inter-process communication, such as task synchronization, management of shared resources (peripherals or memory), and message passing between tasks. Developers can use basic functions to start the real-time runner, begin and end tasks, and pass control between tasks (round-robin scheduling). Developers can assign priorities to tasks.
Main features:
Supports time-slicing, preemptive and cooperative scheduling. Unlimited number of tasks, each task can have up to 254 priorities. Unlimited number of semaphores, mutex semaphores, message mailboxes, and soft timers. Supports multithreading and thread-safe operations. Using the MDK dialog-based configuration wizard, MDK configuration can be easily completed.
7. VxWorks

VxWorks is an embedded real-time operating system (RTOS) designed and developed by Wind River in the USA since 1983, featuring hard real-time, determinism, and stability, as well as scalability and security required by industries such as aerospace and defense, industrial, medical, automotive, consumer electronics, networking, and others.
Main functions:
Supports predictable task synchronization mechanisms, inter-task communication, memory optimization management, and the operating system’s (interrupt latency, task switching, driver latency, etc.) behavior is known and predictable. Real-time clock services + interrupt management services.
Main features:
Has a high-performance operating system kernel Wind (good real-time performance, modular), a friendly development debugging environment, good compatibility, and supports various development and runtime environments.
8. QNX
Born in 1980, QNX is a commercial POSIX-compliant Unix-like embedded real-time operating system.
Main functions:
Supports scheduling and executing multiple tasks simultaneously on the same computer; allows multiple users to share a computer, with these users able to submit tasks to the system through multiple terminals and interact with QNX.
Main features:
The core provides only four services: process scheduling, inter-process communication, low-level network communication, and interrupt handling, with its processes running in independent address spaces. All other OS services are implemented as cooperative user processes, making the QNX core very small (QNX4.x is about 12Kb) and extremely fast.

9. NuttX
NuttX is a real-time embedded operating system (Embedded RTOS), with its first version released by Gregory Nutt in 2007 under a permissive BSD license.
Main functions:
Can be built as an open, flat embedded RTOS, or separately built as a microkernel with system call interfaces. Easily extensible to new processor architectures, SoC architectures, or board-level architectures. Real-time, deterministic, supports priority inheritance. BSD socket interface. Priority management extensions. Optional tasks (processes) with address environments.
Main features:
Flexible configuration, using a modular design, with the core part consisting of small components, including the kernel, C language library, and low-level runtime packages. Each component can provide a large number of configuration options (the real-time kernel can also be an optional configuration), and using eCos configuration tools, it can be easily configured to meet different embedded application requirements.
10. Dujiangyan Operating System (djyos)
(Note: Users have pointed out that the Dujiangyan Operating System’s official website indicates that the STM32 F4 and F7 have not been debugged.)
The Dujiangyan Operating System, abbreviated as djyos, is named after a great water conservancy project: Dujiangyan.
Unlike traditional operating systems, djyos is event-driven rather than thread-based, allowing programmers to write applications in a way that reflects human cognition rather than simulating computer execution processes, similar to introducing VC into embedded programming.
The scheduling algorithm of djyos allows programmers to break free from the constraints of threads and processes; djyos has no APIs related to threads, enabling even programmers with no knowledge of threads to successfully write applications under djyos.
The djyos operating system is event-driven, allowing programmers to program according to human cognitive habits rather than computer habits.

11. Alios Things
According to the well-known media on embedded operating systems RTOS, AliOS Things is a scalable IoT operating system under the AliOS family, aimed at the IoT field. AliOS Things is committed to building an integrated IoT infrastructure in the cloud, with extreme performance, simplified development, cloud integration, rich components, security protection, and other key capabilities, supporting terminal devices to connect to Alibaba Cloud Link, and can be widely used in smart homes, smart cities, and new mobility fields.
Comment: Backed by Alibaba resources, AliOS is a strong player entering the IoT market, collaborating with chip and module manufacturers, but this is also its biggest disadvantage!

12. Huawei LiteOS
Huawei LiteOS is a lightweight IoT operating system built by Huawei for the IoT field, featuring lightweight, low power consumption, fast startup, interconnectivity, and security, providing developers with a “one-stop” complete software platform, effectively lowering development thresholds and shortening development cycles.
Comment: Huawei’s system, but its degree of openness is relatively low, mainly used for Huawei’s own products, under a large tree.

13. RT-Thread
RT-Thread is a technology platform that integrates a real-time operating system (RTOS) kernel, middleware components, and a developer community, developed by Mr. Xiong Puxiang and the open-source community. RT-Thread is a complete, highly scalable, easy-to-develop, ultra-low-power, and highly secure IoT operating system.
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 accumulated development, RT-Thread has the largest embedded open-source community in China and is widely used in various industries such as energy, automotive, medical, and consumer electronics, with a cumulative installation of over 20 million units, becoming the most mature and stable open-source RTOS developed independently by Chinese developers.
Comment: The most likely to become Top 1 in China, with advantages in rich components and a neutral stance! It has caught the timing and received support from many chip manufacturers, and is also well-liked by developers. The downside is that its documentation and tutorials are still weaker compared to FreeRTOS and others.
Recommended learning resources for embedded operating systems RTOS: ① Documentation: https://www.rt-thread.org/document/site/
② Books: “Embedded Real-Time Operating Systems: RT-Thread Design and Implementation” and “RT-Thread Kernel Implementation and Application Development Practical Guide Based on STM32”

14. SylixOS
SylixOS is an open-source, cross-platform large-scale real-time operating system (RTOS) that was born in 2006. After more than a decade of continuous development, SylixOS has become one of the most comprehensive domestic operating systems. It has numerous products and project application cases, covering industries such as aerospace, military defense, rail transportation, smart grids, and industrial automation. SylixOS fully complies with POSIX standards, and the rich open-source community makes software porting very convenient.
Comment: This company is also quite interesting, having started in 2006, focusing on military applications, and has only recently come to prominence. Its strength should not be underestimated!
Reference website: http://www.sylixos.com/
Of course, RTOS is not limited to the above, and contributions are welcome.
Source: Last Bug Copyright belongs to the original author.
—— The End ——Recommended Good Articles Click the blue text to jump☞ Very important! Modular design of microcontroller modules makes my work more efficient☞ Recommend a PID library directly used for project development! Very useful and stable
☞ Summary of 80 domestic and foreign MCU manufacturers!☞ Recommend a serial oscilloscope that I have kept for a long time
Welcome to forward, comment, like, and share with your friends, thank you for your support!
Click the business card to follow me
Share 💬 Like 👍 View ❤️
Support quality content with a “three-link” action!