Click the blue “One Linux” at the top left, and select “Set as Starred“
Get the latest articles at the first moment
☞【Resources】Learning Path for Embedded Driver Engineers
☞【Resources】Linux Embedded Knowledge Points - Mind Map - Free Access
☞【Jobs】A Comprehensive Project Based on Linux IoT that Can Be Included in Your Resume
☞【Jobs】Resume Template for Job Hunting
μClinux
、μC/OS-II
、eCos
、FreeRTOS
、mbed OS
、RTX
、Vxworks
、QNX
、NuttX
,while domestic embedded operating systems include the Dujiangyan Operating System (djyos
)、Alios Things
、Huawei LiteOS
、RT-Thread
、SylixOS
。Below are the features 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, powerful network functionality, excellent file system support, a rich standard API, and TCP/IP network protocols, etc. Due to the lack of an MMU memory management unit, its multitasking implementation requires certain skills.
Structurally, μClinux inherits the multitasking implementation method of standard Linux, dividing processes into real-time processes and ordinary processes, adopting first-come-first-served and time-slice round-robin scheduling, improving only for mid-to-low-end embedded CPU characteristics, and does not support kernel preemption, resulting in general real-time performance.
In summary, μClinux’s biggest feature is its design for processors without MMU, which is suitable for the stm32f103 without MMU functionality, but 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 memory, which increases the hardware design cost.
μ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 focuses on file systems and network applications, μ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. μ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 if needed.
In terms of hardware support, μC/OS-II can support most popular CPUs, and the core itself is very small, with the minimum cut code being as small as 2KB and the minimum required data RAM space being 4KB. Porting μC/OS-II is relatively simple, requiring only modifications to processor-related code.
In conclusion, μC/OS-II is a simple structure, fully functional, and highly real-time embedded operating system kernel, which is 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 plenty of resources and examples available online, making it very suitable for porting to the stm32f103 CPU.

3、eCos

eCos (embedded Configurable operating system)
, which means embedded configurable operating system.
It is an open-source configurable, portable real-time operating system aimed at deep embedded applications.
The biggest feature is flexible configuration, adopting a modular design, with the core made up of small components, including the kernel, C library, and underlying runtime package, etc.
Each component can provide a large number of configuration options (the real-time kernel can also be an optional configuration), using the configuration tools provided by eCos to easily configure, and through different configurations, eCos can meet various embedded application requirements.
The configurability of the eCos operating system is very powerful, allowing users to add the necessary file system. The eCos operating system also supports most 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 cut 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 has good portability, which is easier 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 is not widely used yet and does not have as much documentation as μC/OS-II. eCos is suitable for some commercially or industrially cost-sensitive embedded systems, such as certain applications in consumer electronics.
4、FreeRTOS

Due to RTOS needing to occupy certain system resources (especially RAM resources), only a few real-time operating systems like μC/OS-II, embOS, salvo, FreeRTOS, etc., can run on small RAM microcontrollers.
Compared to commercial operating systems like C/OS-II and embOS, the FreeRTOS operating system is completely free, featuring open-source code, portability, configurability, and flexible scheduling policies, making it easy to port to various microcontrollers, with its latest version being 6.0.
As a lightweight operating system, FreeRTOS provides functionalities including task management, time management, semaphores, message queues, memory management, logging, etc., 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 letting the highest priority task run first among the ready tasks.
The FreeRTOS kernel also supports round-robin scheduling algorithms, allowing different tasks to use the same priority, sharing CPU time when no higher priority tasks are ready.
FreeRTOS’s shortcomings: Compared to the common μC/OS-II operating system, FreeRTOS has both advantages and disadvantages. One downside is reflected in the system’s service functions, as FreeRTOS only provides message queue and semaphore implementations, unable to send messages to the message queue in a last-in-first-out order; on the other hand, FreeRTOS is just an operating system kernel, requiring third-party extensions for GUI (Graphical User Interface), TCP/IP 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
Open-source embedded operating system, ARM provides mbed OS for free to all manufacturers, offering a relatively systematic and comprehensive development environment for smart hardware.
Main features:
Provides a common operating system foundation for developing IoT devices to solve the fragmentation problem in embedded design. Supports all important connectivity and device management open standards for future-oriented designs. Enables secure, upgradeable edge devices to support additional processing capabilities and functions. Addresses complex energy consumption issues through automated power management.
Main characteristics:
Fast development, 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 only a real-time kernel but also has rich middleware components, which are both free and open-source.
Main features:
Starts and stops tasks (processes), in addition to supporting 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-slice, 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 makes it easy to complete 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, as well as scalability and safety requirements for aerospace, defense, industrial, medical, automotive, consumer electronics, networking, and other industries.
Main features:
Supports predictable task synchronization mechanisms, communication between multiple tasks, memory optimization management, and the operating system’s (interrupt latency, task switching, driver delay, etc.) behavior is known and predictable. Real-time clock services + interrupt management services.
Main characteristics:
Has a high-performance operating system kernel Wind (good real-time performance, configurable), friendly development and debugging environment, good compatibility, and supports various development and operating environments.
8、QNX
Born in 1980, QNX is a commercial embedded real-time operating system that complies with POSIX standards and is Unix-like.
Main features:
Supports scheduling and executing multiple tasks simultaneously on the same computer; it also allows multiple users to share a computer, where these users can submit tasks to the system through multiple terminals and interact 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 (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 a permissive BSD license.
Main features:
Can be built as an open, flat embedded RTOS, or built separately 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. Extended priority management. Optional tasks (processes) with address environments.
Main characteristics:
Flexible configuration, adopting a modular design, with the core made up of small components, including the kernel, C library, and underlying runtime package, etc. Each component can provide a large number of configuration options (the real-time kernel can also be an optional configuration), using the eCos configuration tools to easily configure and meet various embedded application requirements.
10、Dujiangyan Operating System (djyos)
(Note: Netizens have pointed out that the Dujiangyan Operating System’s official website indicates that the stm32’s 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 schedules based on events rather than threads. This scheduling algorithm frees programmers from the mindset of simulating the computer’s execution process to write programs, 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 escape the constraints of threads and processes; djyos has no APIs related to threads, allowing a programmer with no knowledge of threads to easily write applications under djyos.
The djyos operating system is event-driven, enabling programmers to program according to human cognitive habits rather than computer habits.

11、Alios Things
According to the well-known media embedded operating system RTOS introduction, AliOS Things is a scalable IoT operating system under the AliOS family, aimed at the IoT field. AliOS Things aims to build an integrated IoT infrastructure on the cloud, with key capabilities such as extreme performance, simple development, cloud integration, and rich components, and supports terminal devices connecting to Alibaba Cloud Link, with wide applications in smart homes, smart cities, and new mobility fields.
Comment: Backed by Alibaba resources, AliOS is a powerful player entering the IoT market, collaborating with chip and module manufacturers, but this is also its biggest disadvantage!

12、Huawei LiteOS
Embedded operating system RTOS introduction, Huawei LiteOS is a lightweight IoT operating system built by Huawei for 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 thresholds and shortening development cycles.
Comment: Huawei’s system, but its degree of openness is relatively low, mainly used for Huawei’s own products, overshadowed by a large tree.

13、RT-Thread
Embedded operating system RTOS introduction, 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 a rich, scalable, easy-to-develop, ultra-low power consumption, and highly secure IoT operating system.
RT-Thread has all the key components needed 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, consumer electronics, with a cumulative installation quantity exceeding 20 million units, making it the most mature and stable open-source RTOS developed independently by Chinese people.
Comment: The most likely to become Top 1 domestically, with advantages in rich components and a neutral stance! It has caught the opportunity, receiving support from many chip manufacturers and is well-liked by developers. However, its documentation and tutorials are still weaker compared to FreeRTOS and similar systems.
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” “RT-Thread Kernel Implementation and Application Development Practical Guide Based on STM32”

14、SylixOS
Embedded operating system RTOS introduction, SylixOS is an open-source cross-platform large real-time operating system (RTOS), born in 2006, after more than a decade 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 grid, and industrial automation. SylixOS fully complies with POSIX standards, and the rich open-source community makes software porting very convenient.
Comment: This company is quite interesting, starting in 2006, focusing on 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, and you are welcome to supplement.
end
One Linux
Follow, reply with【1024】to receive a wealth of Linux resources
Collection of Wonderful Articles
Article Recommendations