If a process executes a wait on a semaphore and is unsuccesful(since the value of the semaphore was initially 0), I understand that the process is blocked(goes to sleep mode?). Who wakes the process up when the semaphore value is greater than 0?
Is this operating system specific? If yes, then how do POSIX semaphores behave?
If a process executes a wait on a semaphore and is unsuccesful(since the value
Share
I imagine this is OS-specific but don’t see many ways of doing it.
For example on Linux doing an
upon a semaphore wakes up the waiting tasks (look up wait queues) and marks them runnable. The scheduler then decides which task to run if any.