#27 RTOS Part-6: Synchronization and communication among concurrent threads
29.4K views on YouTube
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.
Articles mentioned in the lesson + recommended reading:
——————————————————-
Edsger W. Dijkstra “Cooperating sequential processes”, Lecture Notes EWD123, 1963
https://www.cs.utexas.edu/~EWD/transcriptions/EWD01xx/EWD123.html
Jack Ganssle “A Guide to Debouncing, or, How to Debounce a Contact in Two Easy Pages”
http://www.ganssle.com/debouncing.htm
——
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
Preemptive Dual-Mode QXK Kernel:
https://www.state-machine.com/qpc/arm-cm_qxk.html
Transcript of this lesson:
https://www.state-machine.com/course/lesson27.txt
Music credits:
The background music comes from:
https://www.bensound.com/royalty-free-music/track/straight