Real-time operating systems are just about tasks. Developers need to understand how to synchronize task execution using semaphores, mutexes and event flags. Communication between different tasks requires message queues. These objects require special consideration especially since improper use can result in issues such as dead-lock or priority inversion. Attendees will walk away with the knowledge of how to properly synchronize tasks and manage RTOS memory.