#28 RTOS Part-7: Mutual exclusion mechanisms
22.7K views on YouTube
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 priority inversion. Finally, you learn how to prevent these second-order effects by priority-ceiling protocol and priority-inheritance protocol.
Articles mentioned in the lesson + recommended reading:
——————————————————-
“Mutexes and Semaphores Demystified”
https://barrgroup.com/Embedded-Systems/How-To/Mutexes-vs-Semaphores
“Mutexes Battle Priority Inversions”
http://kalinskyassociates.com/Wpaper2.html
“How to use priority inheritance” Kyle Renwick and Bill Renwick
https://www.embedded.com/design/configurable-systems/4024970/How-to-use-priority-inheritance
——
Resources:
Companion web page for this video course:
https://www.state-machine.com/quickstart
GitHub repository for projects for this video course:
https://github.com/QuantumLeaps/modern-embedded-programming-course
Transcript of this lesson:
https://www.state-machine.com/course/lesson28.txt
Key Concepts:
Music credits:
The background music comes from:
https://www.bensound.com/royalty-free-music/track/straight