Overview of 14 Mainstream Embedded Operating Systems: How Many Do You Know?

Overview of 14 Mainstream Embedded Operating Systems: How Many Do You Know?

This article introduces 14 mainstream Real-Time Operating Systems (RTOS) that meet real-time control requirements, including μClinux, μC/OS-II, eCos, FreeRTOS, mbed OS, RTX, VxWorks, QNX, and NuttX. Domestic embedded operating systems include the Dujiangyan Operating System (djyos), AliOS Things, Huawei LiteOS, RT-Thread, and SylixOS.

Below, we will introduce the characteristics of these fourteen embedded operating systems.

1. μClinux

μClinux is an excellent version of embedded Linux, with its full name being micro-control Linux, which literally means 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 networking capabilities, excellent file system support, a rich set of standard APIs, and TCP/IP network protocols. Due to the absence of a Memory Management Unit (MMU), 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 scheduling, respectively, modified specifically for the characteristics of mid-range embedded CPUs, and it does not support kernel preemption, resulting in average real-time performance.

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 and 1MB of ROM/FLASH space. 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.

Overview of 14 Mainstream Embedded Operating Systems: How Many Do You Know?

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, allowing users to add file system content if needed.

Regarding hardware support, μC/OS-II can support most popular CPUs. The 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, requiring only modifications to processor-related code.

In summary, μC/OS-II is a simple, complete, 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.

Overview of 14 Mainstream Embedded Operating Systems: How Many Do You Know?

3. eCos

eCos (embedded Configurable Operating System) is an 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 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). Using the configuration tools provided by eCos, users can easily configure it, and through different configurations, eCos can meet various 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 required data RAM space of 10 KB.

In terms of system portability, eCos is easier to port than μC/OS-II and μClinux.

In summary, eCos’s greatest feature is its flexible configuration and support for porting to MMU-less CPUs. It is open-source and has good portability, making it suitable for porting to STM32 platform CPUs. However, eCos is not yet widely used and does not have as much documentation as μC/OS-II. eCos is suitable for commercial or industrial embedded systems that are cost-sensitive, such as some applications in consumer electronics.

Overview of 14 Mainstream Embedded Operating Systems: How Many Do You Know?

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, characterized by open-source code, portability, configurability, 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.

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.

FreeRTOS kernel also supports round-robin scheduling algorithms, allowing different tasks to share CPU time when no higher priority tasks are ready.

Disadvantages of FreeRTOS:

Compared to the common μC/OS-II operating system, FreeRTOS has both advantages and disadvantages.

Its disadvantages are reflected in the system service functions, such as FreeRTOS only providing implementations for message queues and semaphores, and it cannot send messages to the message queue in a last-in-first-out order. Additionally, FreeRTOS is just an operating system kernel and requires third-party 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.

Overview of 14 Mainstream Embedded Operating Systems: How Many Do You Know?

5. mbed OS

mbed OS is an open-source embedded operating system provided free of charge by ARM 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 important connectivity and device management open standards for future-oriented designs. Enables secure and upgradeable edge devices to support new processing capabilities and functionalities. Addresses complex power 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.

Overview of 14 Mainstream Embedded Operating Systems: How Many Do You Know?

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:

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, begin and end tasks, and pass control between tasks (round-robin scheduling). Developers can assign priorities to tasks.

Main features:

Supports time-slice, preemptive, and cooperative scheduling. Unlimited number of tasks, each with 254 priorities. Unlimited number of semaphores, mutex semaphores, message mailboxes, and soft timers. Supports multithreading and thread-safe operations. The MDK configuration wizard based on dialog boxes makes it easy to complete MDK configuration.

7. VxWorks

VxWorks is an embedded real-time operating system (RTOS) designed and developed by Wind River in the United States in 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:

Features a high-performance operating system kernel (Wind) with good real-time performance, a modular and friendly development debugging environment, good compatibility, and support for various development and runtime environments.

Overview of 14 Mainstream Embedded Operating Systems: How Many Do You Know?

8. QNX

QNX, born in 1980, is a commercial embedded real-time operating system that complies with POSIX standards.

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.

Overview of 14 Mainstream Embedded Operating Systems: How Many Do You Know?

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 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 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 various embedded application requirements.

10. Dujiangyan Operating System (djyos)

(Note: Users have pointed out that the official website of the Dujiangyan Operating System indicates that the STM32 F4 and F7 have not been debugged.)

The Dujiangyan Operating System, abbreviated as djyos, is named after a great hydraulic engineering 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 cognitive processes 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 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.

Overview of 14 Mainstream Embedded Operating Systems: How Many Do You Know?

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 aims to build a cloud-integrated IoT infrastructure, featuring extreme performance, simplified development, cloud integration, rich components, and security capabilities, 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, collaborating with chip and module manufacturers, but this is also its biggest disadvantage!

Overview of 14 Mainstream Embedded Operating Systems: How Many Do You Know?

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 capabilities, providing developers with a “one-stop” complete software platform, effectively lowering development thresholds and shortening development cycles.

Comment:Huawei’s ecosystem is strong, but its open-source level is relatively low, mainly used for Huawei’s own products, with a large tree providing shade.

Overview of 14 Mainstream Embedded Operating Systems: How Many Do You Know?

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, rich, highly scalable, easy-to-develop, ultra-low-power, 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 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 people.

Comment:Most likely to become the 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, and is also well-liked by developers. However, its documentation and tutorials are still weaker compared to FreeRTOS and others.

Recommended learning resources for embedded operating systems RTOS:1. Documentation: https://www.rt-thread.org/document/site/2. Books: “Embedded Real-Time Operating Systems: RT-Thread Design and Implementation” and “RT-Thread Kernel Implementation and Application Development Practical Guide Based on STM32”

Overview of 14 Mainstream Embedded Operating Systems: How Many Do You Know?

14. SylixOS

SylixOS is an open-source, cross-platform large 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 product and project application cases across various fields, including 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.

Overview of 14 Mainstream Embedded Operating Systems: How Many Do You Know?

Overview of 14 Mainstream Embedded Operating Systems: How Many Do You Know?

Some screenshots of electronic books

Overview of 14 Mainstream Embedded Operating Systems: How Many Do You Know?

Some screenshots of courseware PPTs

Overview of 14 Mainstream Embedded Operating Systems: How Many Do You Know?

【Complete Set of Hardware Learning Materials Collection】

Overview of 14 Mainstream Embedded Operating Systems: How Many Do You Know?

Leave a Comment