One of the first questions that a new real-time multi-tasking programmer may ask is: what are all these elaborate schemes for inter-task communication and synchronization for? Why can't tasks communicate through global data? The answer is that under certain conditions tasks can communicate through global data, and furthermore, in some situations, this technique is preferable.
The preferred approach for safely accessing global data is to run tasks cooperatively. This approach does not preclude preemption; it simply means that all tasks that access global data must run at the same priority with time-slicing disabled (i.e. cooperatively). Higher priority tasks can preempt tasks within the cooperative group as long as the higher priority tasks do not access global data.
View Entire Paper | Previous Page | White Papers Search
If you found this page useful, bookmark and share it on: