5.5 Inter-task Communication
5.5.1 Introduction
The topic of inter-task communication was introduced in an informal way in Figure 5.18. As demonstrated, two tasks "communicate" by transferring data using a shared read/write data store. However, it turns out that this is just one of three communication techniques used in embedded systems (Figure 5.26):
First, tasks may need to communicate in order to synchronize and/or coordinate their activities without exchanging data. Synchronization and coordination requirements generally occur where tasks are linked by events (or event sequences), not data. Such events include time-related factors such as time delays, elapsed time, and calendar time.
Second, tasks may exchange data but without needing to synchronize operations, as demonstrated in the tasking diagram of Figure 5.22.
Third, tasks may wish to exchange data but only at carefully synchronized...