Many developers using 32-bit ARM-based microcontrollers are realizing the advantages of using a real-time operating systems (RTOS). Super-loop schedulers and other bare-metal implementations are being superceded by small, fast RTOSes such as FreeRTOS, uC-OS, ThreadX and many others. With the generous RAM and ROM in today's microcontrollers there is little penalty and major upside to using an RTOS.
Popular embedded writer, Jacob Beningo, has put together a 30-minute video on the reasons to consider using an RTOS .
The training video is an excellent introduction to RTOS principles including task creation and scheduling, task switching considerations, and task states (blocked, running, ready). He uses the popular FreeRTOS as the primary example.