Dear experts, I was going through the query regarding Design of UCOS-II kernel.Most of the repliers have specified that to avoid priority inversion one must take care in design.
1)I am just curious to understand the specifics(How to stuff) of the design.Can some one throw some light on this or provide some links which shows how to design such an architecture?Mainly the server based approach was discussed there.I would be interested to know about this server based design as well as other alternatives which would help me to resolve priority inversion.2)In the query about UCOS-II kernel,there was this sentence: "Unfortunately, RTOS like uC/OS can't support priority inheritance protocol since it does not allow kernel to have multiple tasks at the same priority. "
I understand that when you boost priority then atleast the task whose priority will be boosted will be equal to the priority of the highest priority task pending for the resource under contention.Given that such a boosting happens how does the kernel handle the scheduling between the task which is currently boosted to higher priority and the one which already was pending(high priority among pending).In the sense,I intend to understand how the kernel is able to decide which among the these tasks in the condition mentioned above should be allowed to execute?
Looking farward for your replies and advanced thanks for the same, Regards, s.subbarayan