January 09, 2025

What is Embedded Operating System?

What is an embedded operating system?

Embedded Operating System (EOS) refers to the operating system for embedded systems. The embedded operating system is a widely used system software, and usually includes hardware-related underlying driver software, a system kernel, a device driver interface, a communication protocol, a graphic interface, a standardized browser, and the like. The embedded operating system is responsible for the allocation of all hardware and software resources of the embedded system, task scheduling, and control and coordination of concurrent activities. It must reflect the characteristics of the system in which it is located, and it can achieve the functions required by the system by loading and unloading certain modules.

Follow Xiaobian to find out about the ten commonly used embedded operating systems.

What is Embedded Operating System?

Common embedded operating system

One, VxWorks

The VxWorks operating system is an embedded real-time operating system (RTOS) designed and developed by WindRiver in the United States in 1983 and is a key component of the Tornado embedded development environment. The good ability of continuous development, high-performance kernel and friendly user development environment gradually occupy a place in the field of embedded real-time operating systems.

VxWorks has a tailorable microkernel structure; efficient task management; flexible inter-task communication; microsecond interrupt processing; supports POSIX 1003.1b real-time extension standards; supports multiple physical media and standard, complete TCP/IP networks Agreement and so on.

However, its price is expensive. Since the operating system itself and the development environment are proprietary, the prices are generally high, and it usually takes more than 100,000 RMB to build a usable development environment. In general, each application will also collect royalties. Generally not available for source code, only binary code. Because they are all dedicated operating systems and require specialized technical personnel to master the development technology and maintenance, the development and maintenance costs of the software are very high. The amount of hardware supported is limited.

What is Embedded Operating System?

Second, Windows CE

Windows CE and Windows series have good compatibility, and it is undoubtedly a major advantage of Windows CE promotion. WinCE3.0 is a modular real-time embedded operating system for small-capacity, mobile, intelligent, 32-bit, and understanding devices. Provides a feature-rich operating system platform for the creation of dynamic applications and services for handheld devices and wireless devices. It can run on multiple processor architectures and is generally suitable for those who have a certain limit on the memory footprint. equipment. It is a multi-threaded, full-priority, multi-tasking operating system designed from the ground up for limited resources. Its modular design allows it to customize the user electronics from handheld computers to dedicated industrial controllers.

The basic kernel of the operating system requires at least 200 KB of ROM. Due to the strict requirements on the volume and cost of embedded products, the processor part should occupy as little space as possible. The available memory and external memory of the system are also limited, and the embedded operating system runs in a limited amount of memory (usually in ROM or flash memory). Therefore, the operating system has a higher level of efficiency and efficiency. Claim. From a technical point of view, Windows CE has many defects as an embedded operating system: there is no open source code, which makes it difficult for application developers to implement product customization; it does not perform well in terms of efficiency and power consumption, and it is just like Windows. Occupied system memory, the use of a large program; copyright licensing fees are also factors that manufacturers have to consider.

What is Embedded Operating System?

Third, embedded Linux

This is a new member of the embedded operating system, its biggest feature is the open source code and follow the GPL agreement, has become a research hotspot in the past more than a year, IDG predicts that embedded Linux will account for the embedded operating system in the next two years 50% of the share.

Because of its open source code, people can arbitrarily modify it to meet their own applications, and it is easy to check for errors. Complying with the GPL, there is no need to pay a license fee for each application. There is a lot of application software available. Most of them comply with the GPL and are open source and free. Can be applied to the user's own system with minor modifications. There are a large number of free excellent development tools that are all GPL compliant and open source. There is a huge developer community. No special talent is needed, as long as you understand Unix/Linux and C language. With the popularity of Linux in China, more and more such talents. Therefore, the cost of software development and maintenance is very low. Excellent network features, this is especially important in the Internet era. Stability - This is a great advantage of Linux itself. The kernel is very capable and requires minimal resources for operation, making it ideal for embedded applications.

The number of supported hardware is huge. There is no essential difference between embedded Linux and ordinary Linux. Hardware embedded Linux used on PC is almost all supported. And all kinds of hardware driver source code can be obtained, it is very convenient for users to write their own proprietary hardware drivers.

One disadvantage of running Linux on an embedded system is that the Linux system provides real-time performance that requires adding real-time software modules. The kernel space where these modules run is exactly what the operating system implements scheduling strategies, hardware interrupt exceptions, and execution programs. Because these real-time software modules run in kernel space, code errors can disrupt the operating system and affect the reliability of the entire system, which is a very serious weakness for real-time applications.

What is Embedded Operating System?

Fourth, μC/OS-II

The μC/OS-II is a well-known real-time kernel open source code. It is designed for embedded applications and can be used for 8-bit, 16-bit and 32-bit microcontrollers or digital signal processors (DSPs). It has made significant improvements and upgrades based on the original version of μC/OS, and has been used for nearly a decade. There are many examples of successful application of the real-time kernel. Its main features are as follows:

Exposing the source code makes it easy to port the operating system to various hardware platforms.

Portability, most of the source code is written in C language, easy to transplant to other microprocessors; Can be cured;

Cutability, selective use of required system services to reduce the bucket's required storage space;

Preemptive, completely preemptive real-time kernel, that is always the highest priority task under the condition of running ready;

Multi-task, can manage 64 tasks, task priority must be different, does not support time slice rotation scheduling method; can be certain, function call and service execution time has its certainty, does not depend on the number of tasks; Practicality and reliability, the successful application of the real-time kernel instance, is the best evidence of its practicality and reliability. Since μC/OS-II is only a real-time kernel, it means that it does not provide API function interfaces to users just like other real-time systems. There is still a lot of work that needs to be done by users themselves.

What is Embedded Operating System?

V. TInyOS

TInyOS is an open source embedded operating system developed by the University of California at Berwick. It is mainly used in wireless sensor networks. The program uses a modular design, so its program core is often very small, in general the core code and data is about 400 Bytes or so, can break through the limitations of the sensor storage resources. TInyOS provides a series of reusable components. An application can connect various components through the A Wiring Specification to complete its required functions.

What is Embedded Operating System?

Six, embedded real-time operating system (RTOS)

In the industrial control, military equipment, aerospace and other fields have strict requirements on the response time of the system, which requires the use of real-time systems. When external events or data are generated, they can be accepted and processed at a sufficiently fast rate, and the results of their processing can be used to control the production process or respond to the processing system quickly within a specified time, and to control the coordination of all real-time tasks. Run the embedded operating system. Therefore, the understanding of the embedded real-time operating system should be based on the understanding of the embedded system to add response time requirements.

What is Embedded Operating System?

Seven, FreeRTOS

FreeRTOS is a small embedded system with a mini operating system kernel. As a lightweight operating system, functions include: task management, time management, semaphores, message queues, memory management, and recording functions, which can basically meet the needs of smaller systems. FreeRTOS tasks can choose whether to share the stack, and there is no limit to the number of tasks, multiple tasks can be assigned the same priority. Rotation scheduling of the same priority task can also be set as a deprivation kernel or an inalienable kernel.

What is Embedded Operating System?

Eight, WinCE

WinCE is the foundation of Microsoft's embedded, mobile computing platform. It is an open, scalable 32-bit embedded operating system. It is a handheld computer-based electronic device operating system. It is a streamlined Windows 95, Win CE. The graphical user interface is quite outstanding. WinCE is a multi-threaded, full-priority, multi-tasking operating system designed for a limited resource platform as a whole. Its modular design allows it to be customized for user electronics from handheld computers to dedicated industrial controllers. The basic kernel of the operating system requires at least 200K of ROM.

In general, a WinCE system includes a four-tier structure: application programs, WinCE kernel images, board support packages (BSPs), and hardware platforms. The basic software platform is mainly composed of the WinCE system kernel image (OS Image) and the board support package (BSP). Because the WinCE system is a system in which hardware and software are tightly coupled, even if the CPU processors are the same, if the peripheral hardware on the development board is not the same, it is still necessary to modify the BSP to complete a new BSP at this time. Therefore, in other words, the WinCE porting process is mainly the process of rewriting the BSP.

What is Embedded Operating System?

Nine, Android

Android is a software set specifically for mobile devices that includes an operating system, middleware, and some important applications. Android, as a fully open source operating system, is a software stack composed of operating system Linux, middleware, and core applications. Through the API provided by android SDK and the corresponding development tools, programmers can easily develop applications on the android platform. Its entire system consists of five parts: application program, application framework, application library, Android runtime library and Linux Kernel. The Android operating system has some built-in applications, including email clients, SMS programs, calendars, maps, browsers, contacts, and other programs. It's worth mentioning that all these programs are written in Java.

The main job of transplantation is to drive and port the hardware abstraction layer. In order to better understand and debug the system, you should also properly understand the call to the hardware abstraction layer in the upper layer.

What is Embedded Operating System?

Ten, QNX

QNX is developed by Canada QNX Software Systems Co., Ltd. and is widely used in tasks such as automation, control, robotics science, telecommunications, data communications, aerospace, computer network systems, medical equipment, transportation, security defense systems, POS machines, and retail machines. Key application areas.

QNX's unique microkernel and messaging architecture make it easy to run and develop. QNX has very good scalability. Users can directly compile the application code and QNX kernel to generate a single image for a simple embedded application.

What is Embedded Operating System?

USB HUB

USB HUB

USB HUB,Thunderbolt Usb Hub,Satechi Usb C,Owc Thunderbolt 4 Hub

Pogo Technology International Ltd , https://www.wisesir.net