![]() |
| Home |
|
|
PrioritiesPriorities have the sole purpose of guaranteeing good response times of time-critical tasks, even when other, less critical tasks run or could run. Priorities should not be used to synchronize tasks. It is never certain that no other task runs while the task with the highest priority appears to be ready for running. If, for example, this task performs a heap manager call such as malloc or free, it could be blocked by the kernel if some other task has not yet completed its call. Synchronization among tasks can only be achieved using explicit inter-task communication. RTKernel-32 exhibits the best performance when the smallest possible range of the 64 priorities is used. Since the Idle Task has a priority of 0, few and small priorities should be used. In most cases, 3 to 5 priorities should suffice.
|