Home > On-Demand Archives > Talks >

Understanding RTOSs in 45 minutes

Jean Labrosse - Watch Now - Duration: 45:27

Understanding RTOSs in 45 minutes
Jean Labrosse

Although it might seem complex at first glance, the concepts behind a real-time operating system, or RTOS, are fairly simple to understand. An RTOS is little more than software that manages the time and resources of a CPU. An RTOS ensures that time critical code executes before non-time critical one, and allow you to split your application into separate functional units called tasks. An RTOS also provides valuable services to your application such that tasks can interact with one another as needed. This simple model happens to be effective, which is one of the reasons why RTOSes are used in countless IoT and embedded systems.

In this RTOS introductory class, I will describe most of the RTOS concepts in generic terms using visual aids. I will also expose both the benefits and drawbacks of RTOS-based systems. By the end of this class, you should be able to determine whether an RTOS is a good fit for your application.

60 minutes (with Q&A)


All levels

Understanding of CPU architectures, memory, interrupts

italicssurround text with
boldsurround text with
**two asterisks**
or just a bare URL
surround text with
strikethroughsurround text with
~~two tilde characters~~
prefix with

Score: 0 | 2 years ago | 1 reply

Fantastic presentation Jean, I particularly liked your graphical representation approach to explaining the software concepts.

Score: 0 | 2 years ago | no reply

Thank you.

Score: 0 | 2 years ago | 1 reply

Great overview, highly recommended!

Score: 0 | 2 years ago | no reply

Thank you.

Erin RobotGrrl
Score: 0 | 2 years ago | 1 reply

Great presentation! This is incredibly helpful to beginners starting RTOS, will definitely re-watch this and take notes. How often do RTOS "distros" (is that what they are called?) get a new version? Are there ever any difficulties updating a system to run on the new version of RTOS?

Score: 0 | 2 years ago | no reply

Like I mention in the Q&A, my golden rule has always been that upgrades should be transparent and if changes are needed to the application, there should be a very clear document that describes how to go from the old to the new version. Also, APIs should never be changed. Case in point, years ago, my team wanted to change the definition of how to specify the size of a stack from 'stack units' (4 bytes on an ARM) to bytes. That was totally out of question and we never implemented this change. Just imagine if the person upgrading to the latest software doesn't change the size of the stack to accommodate bytes from 4-byte entities. You specify a stack of 256 stack units (i.e. 1024 bytes) and now it means 256 bytes? Disastrous!
As for releases, typically between 6 and 18 months. That being said, a well designed RTOS doesn't need to be updated very often unless new capabilities are added. Again, backwards compatibility is the prime directive!