Scheduling Polices and soft realtime doubts in RTAI/Fusion
Rodrigo Rosenfeld Rosas
lbocseg at yahoo.com.br
Sun Jul 10 17:02:24 CEST 2005
Hi all, specially Gerum and Paolo that have already helped me a lot!
My advisor asked me to talk to his students about real-time Linux. I'm likely to talk mostly about RTAI/Fusion. The course is about RTOS. I have some doubts and would like you to help me. The class will be on Tuesday.
I've looked for the scheduling policy used by RTAI and Fusion but did not find. Is there any documentation that states this? I would like to know what is the default policy used and if it is possible to choose another one and how to do it. I've found a message from Guru that states:
RTAI supports FIFO and Round Robin.
It also supports RMS and EDF with YOUR HELP.
read the file for more details:
I didn't find this file in recent releases both from RTAI 3.2 and Fusion 0.8.2.
I found that Fusion is able to support the O(1) scheduler, as available in the 2.6 series. What is the default policy? Is O(1) the only alternative for the scheduler?
The other question is about the soft realtime concept. It is not clear to me the differences between a soft realtime task and a no realtime task at all. The soft realtime task is scheduled by the Linux scheduler doesn't it? So, what is the difference between a soft realtime task and a normal Linux process or thread? I understand that the difference is that if the task is periodic it will execute in the specified period. But I think I could archieve a similar result with a regular Linux task and some programming. So, I guess that the soft realtime has a priority greater then Linux so that Linux only runs when no soft or real realtime task is running. But that would yield to another doubt. How could that happen if the task is scheduled by Linux. What would be the difference between hard and soft real-time? I know that a hard realtime can't execute linux calls in hard-realtime and that the hard realtime have priorities greater than soft realtime ones. What about the other differences? And what happen if a deadline is missed both for a soft and a hard realtime task? I know the programmer can verify if a deadline was missed, but if he/she doesn't test it what is the behaviour?
Sorry for this lot of questions, but I sware I've been looking for this information about 2 days (my advisor asked me on Friday) and found nothing solid. Maybe I'm looking in the wrong places. Hopefully you can enlight me.
Yahoo! Acesso Grátis - Internet rápida e grátis.
Instale o discador agora! http://br.acesso.yahoo.com/
More information about the Rtai