Run-time multitasking support

nvass wrote on Tuesday, November 11, 2008:

hi, guys
I am not sure that here is the most suitable place for my question, but here it is:
Does anybody know how run-time support (starting a new tasks at run-time) is delivered by embedded RTOS (preserving the real-time properties of the tasks)?
My question comes from the fact that if the system has for example 2 tasks and we try to execute a new task at run-time, it is possible it (the new task) to cause some of the other tasks to miss their deadlines (for example the new task is blocked in critical section and could not be preempted). To make things more complicated lets assume that tasks have asynchronous behavior :slight_smile:
Does any of the contemporary embedded RTOS makes such a check/ test before starting a new tasks in run-time?


davedoors wrote on Tuesday, November 11, 2008:

You can create tasks at any time as long as there is enough RAM left in the heap. If your processor does not have enough power to perform all the required functions in the given time then the RTOS cannot change the physics. An RTOS can give the you the opportunity to get more done in a fixed time though as it removes the need to continuously poll events that have not happened.

nvass wrote on Tuesday, November 11, 2008:

I am agree with you, but I didn’t get the answer that I need it, I will try to clarify myself with simple example:
Lets have an simple RISK processor which has an RTOS and it is executing 2 real-time applications. Both applications are transmitting some data on UART (or any other interface).

So far so good :slight_smile:

After some period of time the user wants to execute third real-time application on the same  device (I assume that the device has enough heap memory to store the applications), and the 3rd application is started…

after some period of time the 3rd applications receive asynchronous event which cause it to enter in critical section i.e. it block the processor for some period of time. And I assume that the blocking cause 2nd application to miss its deadline, so there is my question (I don’t want to change the physics :)) )::

Is there any contemporary RTOS which can predict and reject that a new application, that the USER want to start in run-time, will cause deadline miss in already running applications?

Does anybody get faced with this problem?