[Arrangement] Typical RTOS supporting multi-core processors

Source: Internet
Author: User

1. Real-time Operating System Based on synchronization primitive Extension

Run an identical RTOS on each core of a multi-core processor, and then provide an extended component library that provides the corresponding synchronization primitive to support communication between the core of the processor. Eg: VxWorks and realos.

Through MP extended library synchronization primitive Library Extension, tasks running on a processor element can not only communicate with Tasks running on the same PE, it can also communicate with Tasks running on different PES, so that tasks can communicate with each other to complete specific applications. By dividing applications into different tasks that can be run in parallel and running on different PE cores, data can be processed in parallel to improve system performance.

In this architecture, the realos running on each PE is no different from the realos running on a single core. The main extension lies in the implementation of MP extended library, it provides a cross-core communication method that enables Tasks running on different cores to synchronize and transmit exchange data.

The support for multi-core processors is achieved through the extension of the synchronization primitive library. It is a common extension of RTOS and does not need to make too many modifications to the current RTOS, you only need to add a relatively independent extension library to support the multi-core processor. At the same time, the multi-core mechanism is not transparent to the application, and the application needs to schedule multiple tasks to run on the multi-core as needed. This mechanism allows a RTOS to copy multiple copies in the system memory, which wastes a certain amount of storage space. At the same time, because it is not transparent to applications, it is necessary to design multi-task scheduling and running on multi-core processors, which increases the complexity of applications and requires more time to debug and transplant multi-core processor programs.

 

2. Real-time Operating System Based on micro-kernel and Distributed Technology

QNX is a real-time operating system launched by QNX software systems Canada. QNX nuetrnio is a micro-kernel operating system. Each driver, application, protocol stack, GUI service, and file system runs in a protected address space. An error may occur in any module or restart it, but it does not affect the running of other modules or kernels.

In QNX nuetrino, the OS Kernel only provides the most basic services, such as thread scheduling, inter-process communication, and synchronization, all other OS services, drivers, and applications are used as separate processes to communicate with the kernel through synchronous message transmission. This message transmission mechanism forms a soft bus, service programs can be dynamically plugged in as needed. Therefore, you can replace or restart almost all modules, or even device drivers, during system running.

QNX supports multi-core processors based on its microkernel structure. Communication is integrated into the QNX message transmission primitive. The local IPC is the same as the IPC between the remote node. When processes running on a single CPU are distributed to multiple CPUs, they can communicate with each other. The source code and running Code do not need to be changed.

 

3. Traditional real-time SMP Operating System

Various RTOS developed from Linux generally use this method. One RTOS schedules and runs each task on each processor core.

In this system structure, all CPUs are symmetric at run time (except for system boot and initialization), with no distinction between primary and secondary CPUs. Generally, the same CPU is used physically. All CPUs share the same memory and all peripherals through the same bus. To reduce access memory conflicts, each CPU in the SMP structure usually has its own cache.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.