Inter-process Communication
                    The inter-process communication mechanism provided by this RTOS is simple and effective at the
                    same time. Only one task can wait for an event. This has three positive consequences. First, the
                    implementation is easier in that we do not need a queue of tasks for each event. Second, since
                    no two tasks can wait for the same event, there is a very good chance that priority
                        inversion
                    problem will not take place due to this synchronization mechanism. And, finally, this results in
                    loop and lock free waiting.
                    
Data between two tasks is usually shared by setting aside global memory and writing in it. This does not pose a problem if the data is shared (written and consumed) by periodic tasks only. However, since, this RTOS allows pre-emption by system tasks (and by hardware interrupt) application engineer needs to ensure that proper synchronization mechanism is in place.
            Data between two tasks is usually shared by setting aside global memory and writing in it. This does not pose a problem if the data is shared (written and consumed) by periodic tasks only. However, since, this RTOS allows pre-emption by system tasks (and by hardware interrupt) application engineer needs to ensure that proper synchronization mechanism is in place.