Real-time
solution in
Linux
DMP Electronics Inc.
intern 陳伯綸
Real-time?
Real-time might, as the name implies, sometimes also be about timeliness (fast), but in
my humble opinion it's ...
Real-time Operating System
RTAI

Xenomai
Linux Kernel latency component
Solution
• Dual kernel (Linux Realtime extensions )
o RTLinux
o RTAI
o Xenomai

• PREEMPT_RT kernel
Dual kernel
task
RT task

task

RT task

Linux Kernel
idle task

RT kernel

task
RTLinux
• First real-time extension for Linux
• It was developed by Victor Yodaiken, Michael
Barabanov, Cort Dougan and ot...
ADEOS
RTAI & Xenomai
•

The Xenomai project was launched in August 2001. In 2003 it merged with the
Real-Time Application Interf...
RTAI vs Xenomai
Linux

RTAI

Linux

Xenomai

ADEOS
ADEOS

Hardware

Hardware
Linux kernel
Linux kernel
Linux kernel
context switch

User
Kernel

No context switch
Set flag
PREEMPT_RT kernel

User
Kernel

context switch
context switch
Reference
• Getting real (time) about embedded GNU/Linux
http://www.embedded.com/design/embedded/4204740/Gettingreal--time...
Thanks for your listening
Upcoming SlideShare
Loading in …5
×

Real-time soultion

1,267 views

Published on

Published in: Technology
  • Be the first to comment

Real-time soultion

  1. 1. Real-time solution in Linux DMP Electronics Inc. intern 陳伯綸
  2. 2. Real-time? Real-time might, as the name implies, sometimes also be about timeliness (fast), but in my humble opinion it's usually about determinism. To be precise about event- and temporal determinism (event determinism meaning that you know the state of the outputs with a given set of inputs; temporal determinism meaning that you also know exactly the timing). Coming back to real-time versus real fast - In case of an aircraft navigation system deadlines are in the tens of milliseconds, while for an airline reservation system the deadlines are at about 15 seconds. The latter must be deterministic just like the former one, but does not need to be so fast. After thirty years of research there is still no universal methodology to create real-time systems and that's why in real life real-time is defined as follows:”A real-time system will pass a specified test suite.[2]” Let's stick to those wise words of Paul E. McKenny for the time being. From Getting real (time) about embedded GNU/Linux
  3. 3. Real-time Operating System RTAI Xenomai
  4. 4. Linux Kernel latency component
  5. 5. Solution • Dual kernel (Linux Realtime extensions ) o RTLinux o RTAI o Xenomai • PREEMPT_RT kernel
  6. 6. Dual kernel task RT task task RT task Linux Kernel idle task RT kernel task
  7. 7. RTLinux • First real-time extension for Linux • It was developed by Victor Yodaiken, Michael Barabanov, Cort Dougan and others at the New Mexico Institute of Mining and Technology • patent covering: o US-Patents 5,995,74 owned by FSMlabs
  8. 8. ADEOS
  9. 9. RTAI & Xenomai • The Xenomai project was launched in August 2001. In 2003 it merged with the Real-Time Application Interface (RTAI) project to produce a production-grade real-time free software platform for GNU/Linux called RTAI/fusion, on top of Xenomai's abstract real-time operating system (RTOS) core. Eventually, the RTAI/fusion effort became independent from RTAI in 2005 as the Xenomai project • RTAI o Like Linux itself the RTAI software is a community effort. o Only really actively maintained on x86 o May offer slightly better latencies than Xenomai • Xenomai o Initial goals: facilitate the porting of programs to GNU / Linux. o Any number of RTOS personalities called “skins” can then be built over the nucleus, providing their own specific interface to the applications, by using the services of a single generic core to implement it
  10. 10. RTAI vs Xenomai Linux RTAI Linux Xenomai ADEOS ADEOS Hardware Hardware
  11. 11. Linux kernel
  12. 12. Linux kernel
  13. 13. Linux kernel context switch User Kernel No context switch Set flag
  14. 14. PREEMPT_RT kernel User Kernel context switch context switch
  15. 15. Reference • Getting real (time) about embedded GNU/Linux http://www.embedded.com/design/embedded/4204740/Gettingreal--time--about-embedded-GNU-Linux http://blog.linux.org.tw/~jserv/archives/2011/02/_realtime_gnuli.html • Embedded Linux system development course http://free-electrons.com/doc/training/embedded-linux/slides.pdf • RT nanokernel for Embedded Linux http://people.debian.org.tw/~jserv/RT-nanokernel.pdf • 共同筆記 - 作業系統設計與實做 http://cs001.cs.ccu.edu.tw/wiki/%E9%A6%96%E9%A0%81 • RTAI - Real Time Application Interface Official Website https://www.rtai.org/ • Xenomai: Real-Time Framework for Linux http://www.xenomai.org/
  16. 16. Thanks for your listening

×