PREEMPT-RT vs RTAI etc Explained ?

More
5 years 10 months ago - 5 years 10 months ago #191516 by deanforbes
I have had a bit of a scratch around and am not sure, and cant see a clear explanation I may not be looking in the right places

What are the differences and when or why would you use one or the other are the questions, I am looking to answer?
Last edit: 5 years 10 months ago by deanforbes.

Please Log in or Create an account to join the conversation.

More
5 years 10 months ago - 5 years 10 months ago #191521 by PCW
RTAI and Preemt-RT systems are different in that RTAI has a
separate dedicated real time kernel that runs the Linux kernel as a task
so its a 2 kernel approach to real time. Preempt-RT patches
the standard Linux kernel to provide real time response, so its a
1 kernel approach.

RTAI tends to have lower latency so is often better for LinuxCNC
systems that do software stepping, encoder counting, PWM generation etc.
(parallel port based LinuxCNC systems for example)

Preempt-RT tends to have higher latency (though not always) so is better
for systems that have external hardware for high speed interfaces. Also
Preempt-RT is required for certain hardware like Mesa Ethernet connected
cards or EtherCAT devices.
Last edit: 5 years 10 months ago by PCW.
The following user(s) said Thank You: chimeno, deanforbes, JohnnyCNC, macsddau@linuxcnc, JPL

Please Log in or Create an account to join the conversation.

More
5 years 10 months ago - 5 years 10 months ago #191537 by macsddau@linuxcnc

PCW wrote: [...]RTAI has a
separate dedicated real time kernel that runs the Linux kernel as a task
so its a 2 kernel approach to real time. Preempt-RT patches the standard Linux kernel[...]

If I understand, one is the reverse of the other :
  • Linux kernel is patched into RTAI kernel
  • Preempt-RT is patched into the Linux kernel
So that RTAI has the priority to linux Kernel. Is that why it is better ?
Last edit: 5 years 10 months ago by macsddau@linuxcnc.

Please Log in or Create an account to join the conversation.

More
5 years 10 months ago #191541 by PCW
I would not worry about patching as its just a way to merge source code

RTAI has a minimal low latency kernel for real time tasks
and Linux is run as a low priority task under the real time kernel
Real time applications running RTAI must run in kernel mode

Preempt-RT modifies the Linux kernel so it supports real time
even for userland applications
The following user(s) said Thank You: tommylight, macsddau@linuxcnc

Please Log in or Create an account to join the conversation.

More
4 years 1 month ago #252875 by andypugh
As a complication to this, you can run the (normal) user-space LinuxCNC application on an RTAI kernel if you install the linuxcnc-uspace-rtai helper application.

That currently _doesn't_ work with Mesa Ethernet hardware, though.

Please Log in or Create an account to join the conversation.

More
4 years 1 month ago #252891 by JPL

RTAI and Preemt-RT systems are different in that RTAI has a
separate dedicated real time kernel that runs the Linux kernel as a task
so its a 2 kernel approach to real time. Preempt-RT patches
the standard Linux kernel to provide real time response, so its a
1 kernel approach.

RTAI tends to have lower latency so is often better for LinuxCNC
systems that do software stepping, encoder counting, PWM generation etc.
(parallel port based LinuxCNC systems for example)

Preempt-RT tends to have higher latency (though not always) so is better
for systems that have external hardware for high speed interfaces. Also
Preempt-RT is required for certain hardware like Mesa Ethernet connected
cards or EtherCAT devices.
 
Just my .02$  image missing /media/kunena/emoticons/cool.png

I really think that this should be added verbatim on the download page. This is so much easier to understand than what is currently written there, especially for new users.

 
The following user(s) said Thank You: tommylight

Please Log in or Create an account to join the conversation.

Time to create page: 0.587 seconds
Powered by Kunena Forum