Summary
Keywords
Full Transcript
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: https://www.state-machine.com/sequential-programming Music credits: The background music comes from: https://www.bensound.com/royalty-free-music/track/straight
