Here are 14 mainstream RTOS:
μClinux
、μC/OS-II
、eCos
、FreeRTOS
、mbed OS
、RTX
、Vxworks
、QNX
、NuttX
,while domestic embedded operating systems include Dujiangyan Operating System (djyos
)、Alios Things
、Huawei LiteOS
、RT-Thread
、SylixOS
。Next, we will introduce the characteristics of these 14 embedded operating systems.
1. μClinux
μClinux is an excellent version of embedded Linux, fully named micro-control Linux, which literally refers to micro-control Linux.
Compared to standard Linux, the μClinux kernel is very small, but it still inherits the main features of the Linux operating system, including good stability and portability, powerful networking capabilities, excellent file system support, a rich standard API, and TCP/IP network protocols. Due to the absence of an MMU (Memory Management Unit), its multitasking implementation requires some skill.
Structurally, μClinux inherits the multitasking implementation approach of standard Linux, divided into real-time processes and ordinary processes, using first-come-first-served and time-slice scheduling, modified specifically for the characteristics of mid-range embedded CPUs, and does not support kernel preemption, leading to average real-time performance.
In summary, the biggest feature of μClinux is its design for processors without MMUs, which is suitable for the STM32F103 that lacks MMU functionality. However, porting this system requires at least 512KB of RAM and 1MB of ROM/FLASH, while the STM32F103 has 256K of FLASH, necessitating external memory, which increases hardware design costs.
μClinux has a complex structure, is relatively difficult to port, and has a larger kernel, with poorer real-time performance. If the embedded product being developed emphasizes file systems and network applications, then μClinux is a good choice.

2. μC/OS-II
μC/OS-II is developed based on μC/OS, a compact, preemptive multitasking real-time kernel written in C language. μ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, featuring high execution efficiency, small footprint, excellent real-time performance, and strong scalability.
Regarding file system support, μC/OS-II is aimed at small to medium-sized embedded systems, and even with all features included, the compiled kernel is less than 10 KB, hence the system itself does not provide file system support. However, μC/OS-II has good extensibility, allowing users to add file system content as needed.
In terms of hardware support, μC/OS-II can support most currently popular CPUs. The μC/OS-II kernel is very small, and the trimmed code can be as small as 2KB, with a minimum required data RAM space of 4 KB. Porting μC/OS-II is relatively simple; it only requires modifications to processor-related code.
In summary, μC/OS-II is a simple, fully functional, and highly real-time embedded operating system kernel, making it very suitable for CPUs without MMU functionality. It requires minimal 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 well-suited for porting to the STM32F103 CPU.

3. eCos

eCos (embedded Configurable operating system)
, an embedded configurable operating system.
It is a source-code open, configurable, and portable real-time operating system aimed at deeply embedded applications.
The biggest feature is its flexible configuration, adopting a modular design, with the core composed of small components, including the kernel, C library, and low-level runtime packages.
Each component can provide a large number of configuration options (the real-time kernel can also be configured as an optional component). Using the configuration tools provided by eCos, users can easily configure it and meet various embedded application requirements through different configurations.
The configurability of the eCos operating system is very powerful, as users can add the required file system. The eCos operating system also supports most currently 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 of eCos can be as small as 10 KB, with a minimum required data RAM space of 10 KB.
In terms of system portability, eCos is very portable and easier to port than μC/OS-II and μClinux.
In summary, eCos’s biggest feature is its flexible configuration, supporting the porting of CPUs without MMU, being open-source with good portability, making it suitable for porting to STM32 platform CPUs. However, eCos’s application is still not very widespread and does not have as much documentation as μC/OS-II. eCos is suitable for some cost-sensitive embedded systems in commercial or industrial applications, such as in consumer electronics.
4. FreeRTOS

Since RTOS requires a certain amount of 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 strategies, 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 generally meet the needs of smaller systems.
The FreeRTOS kernel supports priority scheduling algorithms, with each task assigned a priority based on its importance, allowing the CPU to run the highest priority task in the ready state first.
The FreeRTOS kernel also supports round-robin scheduling algorithms, allowing different tasks to share CPU time when no higher-priority tasks are ready.
However, FreeRTOS has its drawbacks: compared to the common μC/OS-II operating system, FreeRTOS has both advantages and disadvantages. Its shortcomings include limited service functions, such as only providing implementations for message queues and semaphores, and not allowing messages to be sent to message queues in a first-in-first-out manner; on the other hand, FreeRTOS is just a kernel that requires third-party GUI (Graphical User Interface), TCP/IP protocol stack, FS (File System), etc., to create a more complex system, unlike μC/OS-II which can seamlessly integrate with μC/GUI, μC/FS, μC/TCP-IP, etc.
5. mbed OS
An open-source embedded operating system, ARM provides mbed OS for free to all manufacturers, offering a relatively more systematic and comprehensive smart hardware development environment.
Main features:
Provides a common operating system foundation for developing IoT devices, addressing fragmentation issues in embedded design. Supports all major connectivity and device management open standards for future-oriented designs. Enables secure, upgradeable edge devices to support additional processing capabilities and features. Solves complex energy consumption issues through automatic power management.
Main characteristics:
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 using standard C structures and compiled with the RealView compiler. Not only is it a real-time kernel, but it also features a rich set of middleware components, is free, and has open code.
Main functions:
Starts and stops tasks (processes), and also supports 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, initiate and terminate tasks, and pass controls between tasks (round-robin scheduling). Developers can assign priorities to tasks.
Main characteristics:
Supports time-slice, preemptive, and cooperative scheduling. Unlimited number of tasks, each with 254 levels of priority. Unlimited number of semaphores, mutex semaphores, message mailboxes, and soft timers. Supports multithreading and thread-safe operations. Configuration wizard based on MDK allows for easy MDK configuration.
7. VxWorks

Developed by WindRiver in the USA in 1983, VxWorks is an embedded real-time operating system (RTOS) that features hard real-time, determinism, and stability, and meets scalability and security requirements across aerospace and defense, industrial, medical, automotive, consumer electronics, networking, and other industries.
Main functions:
Supports predictable task synchronization mechanisms, inter-task communication, optimized memory management, and predictable behavior (interrupt latency, task switching, driver latency, etc.) of the operating system. Real-time clock services + interrupt management services.
Main characteristics:
Features a high-performance operating system kernel (Wind) with good real-time performance and modularity, a friendly development debugging environment, and good compatibility, supporting various development and operating environments.
8. QNX
Born in 1980, QNX is a commercial embedded real-time operating system that complies with POSIX standards.
Main functions:
Supports the simultaneous scheduling of multiple tasks on the same computer; allows multiple users to share a computer, submitting tasks through multiple terminals and interacting with QNX.
Main characteristics:
The core provides only four services: process scheduling, inter-process communication, low-level network communication, and interrupt handling, with processes running in independent address spaces. All other OS services are implemented as cooperative user processes, making the QNX core very small (approximately 12Kb for QNX4.x) 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 the permissive BSD license.
Main functions:
Can be built as an open, flat embedded RTOS or as a microkernel with system call interfaces. Easily extendable to new processor architectures, SoC architectures, or board-level architectures. Real-time, deterministic, supports priority inheritance. BSD socket interface. Extended priority management. Optional tasks with address environments.
Main characteristics:
Flexible configuration, adopting a modular design, with the core composed of small components, including the kernel, C library, and low-level runtime packages. Each component can provide a large number of configuration options (the real-time kernel can also be configured as an optional component), allowing users to easily configure eCos to meet various embedded application requirements.
10. Dujiangyan Operating System (djyos)
(Note: Users have pointed out that the Dujiangyan Operating System’s official website indicates that the STM32F4 and F7 have not been debugged.)
Dujiangyan Operating System, abbreviated as djyos, is named after a great water conservancy project: Dujiangyan.
Unlike traditional operating systems, djyos uses events instead of threads as the core of scheduling. This scheduling algorithm frees programmers from the mindset of simulating computer execution processes, allowing them to write applications in a way that aligns with human cognitive patterns, 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 a programmer with no knowledge of threads to successfully write applications under djyos.
The djyos operating system is event-driven, allowing programmers to code based on human cognitive habits rather than computer habits.

11. Alios Things
According to the renowned 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 aims to build a cloud-integrated IoT infrastructure, featuring extreme performance, simplified development, cloud integration, rich components, and security, supporting terminal devices connecting to Alibaba Cloud Link, and can be widely applied in smart homes, smart cities, and new mobility.
Comment: Backed by Alibaba resources, AliOS Things is a formidable player entering the IoT market, collaborating with chip and module manufacturers, but this is also its biggest disadvantage!

12. Huawei LiteOS
Huawei LiteOS is an embedded operating system (RTOS) introduced by Huawei for the IoT field, designed as a lightweight IoT operating system, focusing on 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: Although from Huawei, its level of openness is relatively low, mainly used for Huawei’s own products, which are heavily supported.

13. RT-Thread
RT-Thread is a technology platform that integrates a real-time operating system (RTOS) kernel, middleware components, and a developer community, led by Mr. Xiong Puxiang and developed with the strength of the open-source community. RT-Thread is also a comprehensive, highly scalable, easy-to-develop, ultra-low power consumption, and highly secure IoT operating system.
RT-Thread includes all 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 exceeding 20 million units, becoming the most mature and stable open-source RTOS developed independently in China.
Comment: The most likely to become Top 1 in China, with advantages in rich components and a neutral stance! It has caught up with the timing and received support from many chip manufacturers, gaining popularity among developers. However, its documentation and tutorials are relatively 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: Design and Implementation of RT-Thread” and “RT-Thread Kernel Implementation and Application Development Practical Guide Based on STM32”

14. SylixOS
SylixOS is an open-source, cross-platform large real-time operating system (RTOS) that was born in 2006. After more than ten years of continuous development, SylixOS has become one of the most comprehensive domestic operating systems. Many products and project application cases have emerged, covering various fields such as aerospace, military defense, rail transportation, smart grids, and industrial automation. SylixOS fully complies with POSIX standards, making the rich open-source community’s software porting very convenient.
Comment: This company is also quite interesting, having started in 2006, mainly serving the military industry, and has only recently begun to emerge. Its strength should not be underestimated!
Reference website: http://www.sylixos.com/
Of course, RTOS is not limited to the above; feel free to add more.
Previous Recommendations
Essential Knowledge Points for Embedded Beginners: One Article Teaches You How to Understand Timing Diagrams
No Surprises! I Won’t Be Able to Rest This Spring Festival Again…
Write Beautiful and Standard Code! Share an Embedded C Coding Specification (Collect and Read Carefully)
Goodbye, Shenzhen