Overview of 14 Mainstream Embedded Operating Systems

Overview of 14 Mainstream Embedded Operating Systems
Word Count: 5600 Content Quality Index:⭐⭐⭐⭐⭐

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

Below, we introduce the features of these fourteen 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 networking protocols, etc. Due to the lack of an MMU (Memory Management Unit), multi-tasking implementation requires certain techniques.

Structurally, μClinux inherits the multi-tasking implementation method of standard Linux, dividing processes 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-range embedded CPUs, and does not support kernel preemption, resulting in general real-time performance.

In summary, the biggest feature of μClinux is its design for processors without an MMU, making it suitable for the STM32F103 which lacks MMU functionality. However, porting this system requires at least 512KB of RAM and 1MB of ROM/FLASH space, and since the STM32F103 has 256K of FLASH, external storage is needed, increasing 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

2. μC/OS-II

μC/OS-II is developed based on μC/OS, a compact, preemptive multi-task 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 memory footprint, excellent real-time performance, and strong scalability.

Regarding 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 components as needed.

In terms of hardware support, μC/OS-II can support most popular CPUs. The μC/OS-II kernel is very small; after trimming, the minimum code size can be 2KB, with a minimum data RAM requirement of 4 KB. 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, particularly suitable for CPUs without MMU functionality. It requires very little kernel code space and data storage space, has good real-time capabilities, good extensibility, and is open-source, with abundant online resources and examples, making it well-suited for porting to the STM32F103 CPU.

Overview of 14 Mainstream Embedded Operating Systems

3. eCos

eCos (embedded Configurable Operating System) is an open-source, configurable, portable real-time operating system aimed at deeply embedded applications.

Its greatest feature is flexibility in configuration, utilizing a modular design, where the core consists 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, users can easily configure it to meet different embedded application requirements.

eCos has strong configurability, allowing users to add the required file system. It also supports most popular embedded CPUs and can be ported across different architectures like 16-bit, 32-bit, and 64-bit.

Because the eCos kernel is very small, 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 greatest feature is its flexible configuration and support for porting to CPUs without MMUs, being open-source and having good portability, making it suitable for porting to STM32 platform CPUs. However, eCos is not as widely used as μC/OS-II, and there are fewer resources available compared to μC/OS-II. eCos is suitable for commercial or industrial embedded systems that are cost-sensitive, such as some applications in the consumer electronics field.

Overview of 14 Mainstream Embedded Operating Systems

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 strategies, making it easy to port to various microcontrollers. Its latest version is 6.0.

As a lightweight operating system, FreeRTOS provides functions 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 task that is ready. The 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. One disadvantage is in system service functionality, as FreeRTOS only provides implementations for message queues and semaphores, and cannot send messages to the queue in a last-in-first-out order; on the other hand, FreeRTOS is only an operating system kernel and requires third-party GUI (Graphical User Interface), TCP/IP 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, and so on.

Overview of 14 Mainstream Embedded Operating Systems

5. mbed OS

Open-source embedded operating system, ARM provides mbed OS free for all manufacturers, offering a relatively comprehensive and systematic development environment for smart hardware.

Main Functions:

Provides a common operating system foundation for developing IoT devices, addressing the fragmentation issue 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 functionalities. Solves complex power consumption issues through automatic power management.

Main Features:

Fast development speed, powerful functionality, high security, designed for mass production, supports offline development and web-based editing.

Overview of 14 Mainstream Embedded Operating Systems

6. RTX

RTX is an embedded real-time operating system from ARM, written using standard C structure and compiled using the RealView compiler. It is not just a real-time kernel but also has rich middleware components, being free and open-source.

Main Functions:

Starts and stops tasks (processes) and 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 with a priority of up to 254. Unlimited number of semaphores, mutexes, 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

Developed by Wind River in the USA in 1983, VxWorks is an embedded real-time operating system (RTOS) known for its hard real-time capabilities, determinism, and stability, meeting the scalability and security requirements of industries such as aerospace and defense, industrial, medical, automotive, consumer electronics, networking, and more.

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 (good real-time performance, configurable), a friendly development and debugging environment, good compatibility, and support for various development and runtime environments.

Overview of 14 Mainstream Embedded Operating Systems

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 single computer, submitting tasks to the system through multiple terminals and interacting with QNX.

Main Features:

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.

Overview of 14 Mainstream Embedded Operating Systems

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. Extended priority management. Optional tasks (processes) with address environments.

Main Features:

Flexible configuration, modular design, the core part consists 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.

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.)

Dujiangyan Operating System, abbreviated as djyos, is named after a great water conservancy project: Dujiangyan.

Unlike traditional operating systems, djyos is not thread-based but event-based for scheduling. This scheduling algorithm allows programmers to write applications according to human cognitive methods rather than simulating computer execution processes, akin to introducing VC into embedded programming.

The scheduling algorithm of djyos frees programmers from the constraints of threads; djyos has no APIs related to threads, allowing even programmers without knowledge of threads to smoothly write applications under djyos.

The djyos operating system is scheduled based on events, enabling programmers to program according to human cognitive habits rather than computer habits.

Overview of 14 Mainstream Embedded Operating Systems

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. AliOS Things aims to build a cloud-integrated IoT infrastructure, featuring extreme performance, simplified development, integrated cloud services, rich components, and security capabilities, and supports terminal devices connecting to Alibaba Cloud Link, widely applicable in smart homes, smart cities, and new mobility sectors.

Comment: Ali’s resources are formidable in the IoT market, collaborating with chip and module manufacturers, making them a strong player, but this is also their biggest disadvantage!

Overview of 14 Mainstream Embedded Operating Systems

12. Huawei LiteOS

According to embedded operating system RTOS introduction, Huawei LiteOS is a lightweight IoT operating system built by Huawei for the IoT field, characterized by low power consumption, fast startup, interoperability, and security, providing developers with a “one-stop” complete software platform that effectively lowers development thresholds and shortens development cycles.

Comment: Huawei’s system, though, has a relatively low degree of open-source, mainly used for Huawei’s own products, overshadowed by a large tree.

Overview of 14 Mainstream Embedded Operating Systems

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 a complete, scalable, easy-to-develop, ultra-low power, and highly secure IoT operating system. It includes all key components needed 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 become the largest embedded open-source community in China, widely used in energy, automotive, medical, consumer electronics, and other industries, with over twenty million installations, making it the most mature and stable open-source RTOS developed by Chinese individuals.

Comment: Most likely to become the Top 1 domestically, with advantages in rich components and neutral stance! Timing was right, gaining support from many chip manufacturers, and is popular among developers. However, the 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 System: 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

14. SylixOS

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. It has many product and project application cases across 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 open-source communities.

Comment: This company is quite interesting, starting in 2006, primarily in military applications, but has recently gained prominence. Its strength should not be underestimated!

Disclaimer: The materials in this article come from the internet, and the copyright belongs to the original author. If there are any copyright issues, please contact me for removal.
Overview of 14 Mainstream Embedded Operating Systems

1

“Source Code Attached | PS2 Remote Control Car Based on STM32”

2

“Strange | Why Do Spacecraft and Missiles Prefer Microcontrollers Over Embedded Systems?”

3

“Overview | Common Classic Interview Questions for Embedded Software Engineers”

Overview of 14 Mainstream Embedded Operating Systems

Overview of 14 Mainstream Embedded Operating Systems

Overview of 14 Mainstream Embedded Operating Systems
Overview of 14 Mainstream Embedded Operating Systems
Share
Overview of 14 Mainstream Embedded Operating Systems
Like
Overview of 14 Mainstream Embedded Operating Systems
View

Leave a Comment