11.6. Limitations of semaphores

In Section 10.1 we started by considering a synchronization facility such as WAIT() and SIGNAL() on events. We have now seen that semaphores provide more generality and flexibility than a one-to-one (named-process to named-process) scheme. semWait () can be used by many processes to wait for one or more signalling processes. semSignal () can be used by many processes to signal one waiting process. We have shown examples of how semaphores can be used to solve a range of realistic problems of systems.

Suppose the semaphore type was available in a language as the only basis for IPC. We should consider some of the concepts which are lacking in semaphore operations that might be important, at least for some types of ...

Get Operating Systems: Concurrent and Distributed Software Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.