In this second fundamentals course dedicated to the topic of Real-Time Operating Systems, Embedded Systems Guru, Dr. Dave Stewart, presents some of the more advanced topics of RTOS that even beginners in the field should know. This class begins with a focus on software decomposition of real-time systems using threads, and the model of a real-time thread needed to leverage the scheduler and communication mechanisms of the RTOS. The class continues by presenting various architectures for mapping the real-time threads to the target hardware by leveraging various features of an RTOS.

The importance and the issues of scheduling in a preemptive environment follow. This includes choosing a proper real-time scheduling algorithm, assigning priorities, and dealing with common real-time issues such as race conditions, priority inversion, and reliable inter-thread communication.

For the system implemented using an RTOS, advanced concepts in troubleshooting real-time performance and troubleshooting timing issues are discussed. While many different methods exist, the method presented is primarily based on use of a logic analyzer, to provide a real target- and RTOS-independent view of the timing in the system.