Multiple concurrent threads of execution within an application must be able to:
synchronize their execution and
coordinate mutually exclusive access to shared resources.
To address these requirements, RTOS kernels provide:
a semaphore object and associated semaphore management services.
This lecture discusses the following:
defining a semaphore,
typical semaphore operations, and
common semaphore use.