Embedded Programming Video Course Teaches RTOS
If you'd like to understand how a Real-Time Operating System (RTOS) really works, here is a free video course for you:
RTOS part-1: In this first lesson on RTOS you will see how to extend the foreground/background architecture from the previous lesson, so that you can have multiple background loops running seemingly simultaneously.:
RTOS part-2: In this second lesson on RTOS you will see how to automate the context switch process. Specifically, in this lesson, you will start building your own minimal RTOS that will implement the manual context switch procedure that you worked out in the previous lesson:
RTOS part-3: This third lesson on Real-Time Operating System (RTOS) shows how to
automate the scheduling process. Specifically, in this lesson you will
implement the simple round robin scheduler that runs threads in a
circular order. Along the way, you will add several improvements to the
MiROS RTOS and you will see how fast it runs:
RTOS part-4: This forth lesson on Real-Time Operating System (RTOS) shows how to
replace the horribly inefficient polling for events with efficient
BLOCKING of threads. Specifically, in this lesson you will add a
blocking delay function to the MiROS RTOS and you'll learn about some
far-reaching implications of thread blocking on the RTOS design:
RTOS part-5: This fifth lesson on RTOS I'll finally address the real-time aspect in
the "Real-Time Operating System" name. Specifically, in this lesson you
will augment the MiROS RTOS with a preemptive, priority-based scheduler,
which can be mathematically proven to meet real-time deadlines under
certain conditions:
RTOS part-6: This sixth lesson on RTOS talks about the RTOS mechanisms for
synchronization and communication among concurrent threads. Such
mechanisms are the most complex elements of any RTOS, and are generally
really tricky to develop by yourself. For that reason, this lesson
replaces the toy MiROS RTOS with the professional-grade QXK RTOS
included in the QP/C framework, parts of which have been used since
lesson 21. The lesson demonstrates the process of porting an existing
application to a different RTOS, and once this is done, explains
semaphores and shows how they work in practice:
RTOS part-7: This seventh lesson on RTOS talks about sharing resources among concurrent threads, and about the RTOS mechanisms for protecting such shared resources. First you see what can happen if you share resources without any protection, and then you get introduced to the "mutual exclusion mechanisms" for protecting the shared resources. Specifically, you learn about: critical sections, resource semaphores, selective scheduler locking, and mutexes. You also learn about the second-order problems caused by these mechanisms, such as unbounded prioroty inversion. Finally, you learn how to prevent these second-order effects by priority-ceiling protocol and priority-inheritance protocol.
- Comments
- Write a Comment Select to add a comment
To post reply to a comment, click on the 'reply' button attached to each comment. To post a new comment (not a reply to a comment) check out the 'Write a Comment' tab at the top of the comments.
Please login (on the right) if you already have an account on this platform.
Otherwise, please use this form to register (free) an join one of the largest online community for Electrical/Embedded/DSP/FPGA/ML engineers: