what are the various methods to overcome it?
Answers were Sorted based on User's Feedback
Answer / manjunath.m.k
Priority inheritence is the solution.This mechanism raises
the priority of the smaller task equal to the higher
priority task and after completion of the task,unlocks the
semaphore and returns back to the original lower
priority.This process is done by the scheduler.
Is This Answer Correct ? | 8 Yes | 1 No |
Answer / nithin ganesh
Priority Inheritance is the solution for priority
inversion.whenever a high priority task request for some
resource which is locked by a low priority task ,the
priority of lower task is inherited to the priority of the
higher task.The instance it unlocks the resource the
prioity is changed to its original value.
Another solution for this is priority ceiling where you
inherit the priority of the lower task whenever a higher
task is created.Even if the higher priority task doesnot
request for the resource
Is This Answer Correct ? | 3 Yes | 1 No |
what do u mean by Semaphore..when v wil go for using this..explain about hat.what is the difference betw..binary ,,counting and mutex semphores
I have a situation where the programme counter(PC) shows that vxworks msgQreceive function has been called by task A and Q is full, still I am not picking up the messages. There is no other task registered to receive messages from this Q. The sending task B, which is ISR in this case, is getting timedout everytime it tries posting new message in it. A's state is PEND which means I am waiting for some resource to get free but PC shows I have called vxworks msgQReceive and currently at qJobget+0x018 location. There seems to be two causes now(identified by me): either vxworks qjobget task is not able to do semTake or no messages in Q. But Q is full and semTake failure seems unlikely(though I dont have a mechanism to check so). Besides explaining root cause for above, can anyone suggest how to get my task in READY state again? I also tried flushing the Q; on doing this, more messages get posted in Q but A still doesnt pick up any :(
hi this is srikanth i need video classes for Vxworks any body having this forward me thanking u
Write a code to connect Hardware interrupt to ISR...?
Which RTOS supports Non-Preemptive scheduling ? Why other scheduling methods are supported by such Oses?
What is another for creating a task without using taskspawn?
Assume there is a global variable & a static global variable.Both gets memory allocated from the data segment. Then how does the visiblity of static global varible gets limited to the file alone (in which it gets declared) ???
What is priority inversion?
what are the various methods to overcome it?
IN RTOS HAVING 1OKBYTES OF MEMORY AND YOUR PROGRAMM FOR ASKING FOR 5KBYTES AND YOU GOT NULL ERROR ? WHY DOES IT BEHAVES LIKE THIS
what is task spawn in vxworks ?plz anyone explain me