We've covered quite a few concepts in this chapter in relation to super loops and tasks. At this point, you should have a good understanding of how super loops can be combined with interrupts and DMA to provide parallel processing to keep a system responsive, without the use of an RTOS. We introduced task-based architectures at a theoretical level and the two main types of scheduling you'll encounter when using FreeRTOS (round-robin and preemptive). You also had a very brief glimpse at how a preemptive scheduler schedules tasks of different priorities. All of these concepts are important to grasp, so feel free to refer back to these simplistic examples as we move forward and discuss more advanced topics.
In the next chapter, you'll be introduced to the various inter-task communication mechanisms that will cause context switches like the ones covered in this...