Embedded operating systems (RTOS) that meet real-time control requirements. Here are 14 mainstream RTOS:μ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, and SylixOS.
Below are the characteristics of these 14 embedded operating systems.
1. μClinux
μClinux is an excellent embedded version of Linux, fully known as micro-control Linux, which literally refers to 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 lack of an MMU (Memory Management Unit), its multitasking implementation requires some techniques.
Structurally, μClinux inherits the multitasking implementation method of standard Linux, dividing it into real-time processes and normal processes, using first-come-first-served and time-slice rotation scheduling, respectively, modified specifically for the characteristics of mid-to-low-end embedded CPUs, and it does not support kernel preemption, making its real-time performance average.
In summary, the biggest feature of μClinux is its design for processors without an MMU, 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. The stm32f103 has 256K of FLASH and requires external storage, increasing hardware design costs.
μClinux has a complex structure, is relatively difficult to port, and has a larger kernel, with slightly poorer real-time performance. If the embedded product development 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 small, 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 services, featuring 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 can add file system content if needed.
Regarding hardware support, μC/OS-II can support most 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 4KB. Porting μC/OS-II is relatively simple; it only requires modifying 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 many resources and examples available online, making it 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 biggest feature is flexible configuration, adopting a modular design, with the core part consisting 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 configured as an optional component). Using the configuration tools provided by eCos, it can be easily configured, and through different configurations, eCos can meet various embedded application requirements.
The configurability of the eCos operating system is very powerful; users can add the required file systems themselves. 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.
Since the eCos kernel is very small, the trimmed code can be as small as 10KB, with a minimum required data RAM space of 10KB.
In terms of system portability, the eCos operating system has excellent portability and is easier to port than μC/OS-II and μClinux.
In summary, eCos’s biggest feature is flexible configuration and support for porting to CPUs without MMU, being open-source and having good portability, making it suitable for porting to stm32 platform CPUs. However, eCos’s applications are not yet widespread and are not as common as μC/OS-II, and there is less documentation available compared to μC/OS-II. eCos is suitable for some commercial or industrial embedded systems that are cost-sensitive, such as certain applications in consumer electronics.
4. FreeRTOS

Since RTOS must occupy certain system resources (especially RAM resources), 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, configurability, 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, logging capabilities, etc., which can basically meet the needs of smaller systems.
The FreeRTOS kernel supports priority scheduling algorithms, allowing each task to be assigned a certain priority based on its importance, with the CPU always letting the highest-priority ready task run first.
The FreeRTOS kernel also supports round-robin scheduling algorithms, allowing different tasks to share the CPU’s usage time at the same priority level when there are no higher-priority tasks ready.
FreeRTOS’s shortcomings: Compared to the common μC/OS-II operating system, FreeRTOS has both advantages and disadvantages. Its shortcomings lie in system service functions; for example, FreeRTOS only provides implementations of message queues and semaphores and cannot send messages to the message queue in a first-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 stacks, 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
mbed OS is an open-source embedded operating system provided free of charge by ARM for all manufacturers, offering a relatively more systematic and comprehensive development environment for smart hardware.
Main features:
Provides a general operating system foundation for developing IoT devices to address the fragmentation problem in embedded design. Supports all major connectivity and device management open standards for future-oriented designs. Enables secure and 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 online.

6. RTX
RTX is an embedded real-time operating system from ARM, written in standard C structure, compiled using the RealView compiler. It is not just a real-time kernel but also has rich middleware components, which are not only free but also open source.
Main functionalities:
Starting and stopping tasks (processes), and it 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, begin and end tasks, and pass control between tasks (round-robin scheduling). Developers can assign priorities to tasks.
Main characteristics:
Supports time-slicing, preemptive and cooperative scheduling. Unlimited number of tasks, each task has up to 254 priorities. Unlimited number of semaphores, mutex semaphores, message mailboxes, and soft timers. Supports multithreading and thread-safe operations. With 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 WindRiver in the United States since 1983, featuring hard real-time, determinism, and stability, as well as scalability and security required by aerospace, defense, industrial, medical, automotive, consumer electronics, networking, and other industries.
Main functionalities:
Supports predictable task synchronization mechanisms, inter-task communication, optimized memory management, and the operating system’s (interrupt latency, task switching, driver latency, etc.) behavior is known and predictable. Real-time clock service + interrupt management service.
Main characteristics:
Features a high-performance operating system kernel Wind (good real-time performance, configurable), a friendly development debugging environment, good compatibility, and support for various development and operating environments.
8. QNX
Born in 1980, QNX is a commercial, POSIX-compliant Unix-like embedded real-time operating system.
Main functionalities:
Supports scheduling and executing multiple tasks simultaneously on the same computer; allows multiple users to share a computer, with users submitting tasks to the system 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 its processes running in independent address spaces. All other OS services are implemented as cooperating 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 the first version released by Gregory Nutt in 2007 under a permissive BSD license.
Main functionalities:
Can be built as an open, flat embedded RTOS or separately as a microkernel with system call interfaces. Easily extensible to new processor architectures, SoC architectures, or board-level architectures. Real-time, deterministic, supporting priority inheritance. BSD socket interface. Extended priority management. Optionally has tasks (processes) with address environments.
Main characteristics:
Flexible configuration, adopting a modular design, with the core part consisting 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 configured as an optional component), and using the eCos configuration tools makes it easy to configure and 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 not based on threads but rather on events as the scheduling core. This scheduling algorithm allows programmers to write applications in a way that aligns with human cognition rather than simulating computer execution processes, akin 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 write applications smoothly under djyos.
The djyos operating system is event-driven, enabling scheduling based on 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 highly scalable IoT operating system under the AliOS family. AliOS Things aims to build a cloud-integrated IoT infrastructure, with extreme performance, simplified development, integrated cloud capabilities, rich components, and security protection, and supports terminal devices connecting to Alibaba Cloud Link, widely applicable in smart home, smart city, and new mobility fields.
Comment: Backed by Alibaba resources, AliOS Things is a strong player entering the IoT market through partnerships 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 aimed at the IoT field, providing key capabilities such as lightweight low power consumption, fast startup, interconnectivity, and security, offering developers a “one-stop” complete software platform, effectively lowering development barriers and shortening development cycles.
Comment: Although it belongs to Huawei, its level of open-source is relatively low, mainly used for Huawei’s own products, overshadowed by a large tree.

13. RT-Thread
RT-Thread is a technology platform that integrates a 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 a component-rich, highly scalable, easy-to-develop, ultra-low-power, and highly secure IoT operating system.
RT-Thread contains 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 cumulative 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 installed base of over 20 million units, becoming the most mature and stable open-source RTOS developed independently by Chinese people.
Comment: Most likely to become Top 1 domestically, with advantages in rich components and a neutral position! It has caught up with the timing, received support from many chip manufacturers, and is well-liked by developers. However, its tutorial documentation is still weaker compared to FreeRTOS and similar systems.

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. There are numerous product and project application cases in various fields, including aerospace, military defense, rail transportation, smart grids, and industrial automation. SylixOS fully complies with POSIX standards, making it easy to port rich free software from the open-source community.
Comment: This company is quite interesting, having started in 2006, primarily working in military applications, 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 these; feel free to add more.
The spring recruitment has begun! If you don’t prepare well, it will be very difficult to find a good job during the spring recruitment.
Here’s an employment gift package for you, so you can prepare for the spring recruitment and find a good job!
