What are the advantages of xenomai 3 over preempt_rt?

Source: Internet
Author: User

Q: Can I run POSIX applications directly in the environment of the preempt_rt kernel of my development board? What is the reason for xenomai3?

A: If your application is fully POSIX and the performance is satisfactory, there is no reason to use xenomai3. however, you may consider using xenomai3.

-You want to port the legacy embedded application to Linux without modifying the API. for example, if you don't want to rewrite an API on the POSIX interface, xenomai can use it in this case. because it supports multiple programming interfaces through a common real-time interface, including traditional RTOS APIs, xenomai3 will also support these APIs on preempt_rt-based systems.

-Your target board has insufficient performance or/and you want your real-time tasks to append the smallest load to the system. this is where the dual-kernel mechanism is better than the native preemption system. in the latter case, all Linux systems must execute internal code (such as priority inheritance, thread interruption) to prevent real-time processing from being delayed, but in the dual-kernel system, this is not necessary because the real-time kernel is different from the Linux kernel for independent execution. Therefore, common Linux actions do not affect the real-time actions, and do not even need to know the real-time kernel.


All in all, there is no unified answer to these questions: it actually depends on your performance requirements and the performance of your development board. this is a case-by-case thing. it means "we can achieve x microseconds in the worst case", but it doesn't mean the performance of the Board.
Xenomai 3 FAQ

Q: I can run POSIX based applications directly over a preempt_rt Kernel on my target system, so what is the point of running xenomai 3 there?

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

  • You want to port a legacy embedded application to Linux without having to switch APIs, I. e. you don't have want to rewrite it on top of the POSIX interface. xenomai may help in this case, since it supports multiple programming interfaces over a common real-time layer, including emulators of traditional RTOS APIs. xenomai 3 will make those APIs available to a preempt_rt based system as well.
  • The target hardware platform has limited horsepower, and/or you want the real-time job to put the smallest possible overhead 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 that prevents real-time activities from being delayed in an unacceptable manner (e.g. priority Inheritance mechanic, threaded IRQ handlers ). in a dual kernel system, there is no need for this, since the real-time co-kernel runs separately from the normal Linux kernel. therefore, regular Linux activity is not charged for real-time activity, it does not even have to know about it.

In short, there cannot be any pre-canned answer to such a question: it really depends on your performance requirements, and your target hardware capabilities. this has to be evaluated on a case-by-case basis. telling the world about "we can achieve x microseconds worst-case latency" without specifying the characteristics of the target platform wocould make no sense.

Reference: http://www.xenomai.org/index.php/Xenomai:Roadmap#Xenomai_3_FAQ

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.