Verified
It is hardware or software flag. In multitasking systems, a semaphore is a variable along with a value which indicates the status of a common resource. Its utilized to lock the resource that is being used.
A process requiring the resource checks the semaphore to find out the resource's status and then decides how to proceed.