What's the benefit of Xenomai 3 compared to preempt_rt?

Source: Internet
Author: User
Tags posix

Original reference: Http://www.xenomai.org/index.php/Xenomai:Roadmap#Xenomai_3_FAQ

Xenomai 3 FAQ
Q:I can run POSIX based applications directly over a preempt_rt kernel on the I target system, so what are the point of Runni ng Xenomai 3 there?

A:If your application is already fully posixish, and the performances requirements, are met, then there are likely no point . However want to consider Xenomai 3 in two other situations:

You are want to port a legacy embedded application to Linux without have to switch APIs, i.e. you don ' t want to rewrite it o n Top of the POSIX interface. Since it supports multiple programming interfaces over a common real-time layer Emulators of traditional RTOS APIs. Xenomai 3 'll make those APIs available to a preempt_rt based system as.
The target hardware platform has limited horsepower, and/or you want the real-time job into put the smallest possible Ad on your system. This is where dual kernels are usually better than a native preemption system. With the latter, all parts of the Linux system have to run internal code this prevents real-time activities from being Del Ayed in a unacceptable manner (e.g. priority inheritance mechanism, threaded IRQ handlers). In a dual kernel system, there are no need for this, since the real-time Co-kernel-runs-separately from the normal Linux ke Rnel. Therefore, regular Linux activity isn't charged for real-time activity, it does don't even to have about it.
In-short, there cannot is any pre-canned answer to such a question:it really-depends on your performance requirements D your target hardware capabilities. This has to is evaluated on a case-by-case basis. Telling the world about "we can achieve X microseconds worst-case latency" without specifying the the ' t Arget platform would make no sense.

Q: I can run POSIX applications directly on my Development Board PREEMPT_RT kernel environment, what's the reason for Xenomai3?
A: If your application is completely POSIX, and performance is satisfied, there is no reason to use XENOMAI3. But you might consider using XENOMAI3 for the following two points.

You want to transplant legacy embedded applications to Linux without modifying the API. For example, if you don't want to rewrite the API on a POSIX interface, Xenomai can use it. Because it supports multiple programming interfaces, including the traditional RTOs API, through a common real-time nature, XENOMAI3 will also be based on Preempt_ These APIs are supported on RT systems.

Your target board is not performing enough, or/and you want your real-time task to add the minimum load to the system. This is a place where the dual-core mechanism is superior to the original preemption system. In the latter case, all Linux systems must execute internal code (such as priority inheritance, break Chenghua) to prevent real-time processing from being delayed, but in a dual-core system, this is not necessary because the real-time kernel is separate from the Linux kernel, so The usual Linux action does not have an impact on real-time actions, and it doesn't even need to know the real-time kernel.

All in all, there is no single answer to this type of problem: it actually depends on your performance requirements and the performance of your development board. It's a case-by-case thing. It makes no sense to say that "we can get X microseconds in the worst case" without pointing out the performance of the board.

Extended reading: Https://rt.wiki.kernel.org/index.php/RT_PREEMPT_HOWTO

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.