An RTOS is often a lightweight operating system (OS) that runs on microcontrollers. Much like general-purpose operating systems, they offer a scheduler to run multiple threads or tasks, resource management (such as file I/O), and device drivers. An RTOS is necessary when embedded engineers must run several threads simultaneously on a processor.
0
2
This Course Includes
Items in Curriculum
Course Badge
Created by
A real-time operating system (RTOS) is an operating system that runs multi-threaded applications and can meet real-time deadlines.
An RTOS is often a lightweight operating system (OS) that runs on microcontrollers. Much like general-purpose operating systems, they offer a scheduler to run multiple threads or tasks, resource management (such as file I/O), and device drivers. An RTOS is necessary when embedded engineers must run several threads simultaneously on a processor.
The “real-time” part of an RTOS means that such software can meet real-time deadlines. Note that this does not mean “fast,” but rather, it can guarantee that task execution time can be calculated prior to runtime.
Embedded programmers often use a “bare-metal” or “super loop” structure instead of an RTOS when concurrency is unnecessary. This is the familiar “setup” and “loop forever” style of embedded code where no OS is employed. Many embedded applications can be written in this format and are often easier to debug.
In the rest of the series, we will cover various RTOS concepts and provide demonstrations on the ESP32 using Arduino. After each video, excluding this one, we will issue a challenge, and the solution can be found in a Maker.IO link provided in the video’s description. We encourage you to try the challenge without looking at the solution.
Course Content
- What is a Real-Time Operating System (RTOS)? 00:11:00
- Getting Started with FreeRTOS 00:11:00
- Task Scheduling 00:10:00
- Memory Management 00:10:00
- Queue 00:12:00
- Mutex 00:13:00
- Semaphore 00:12:00
- Software Timer 00:12:00
- Hardware Interrupts 00:15:00
- Deadlock and Starvation 00:12:00
- Priority Inversion 00:12:00
- Multicore Systems 00:16:00
- RTOS 00:20:00


