Please excuse if this is inappropriate for the kernel category, but relates to many questions posted in this forum.
I wrote a blog post a few years ago on the difference between semaphores, mutexes and queues, and their motivations. It has become the most read article on the Percepio website. Since there seems to be a lot of interest for this topic, I’m sharing it here too.
Do you have other perspectives on this topic, that perhaps was overlooked in the original post?
See https://percepio.com/2016/08/11/rtos-101-semaphores-and-queues/