10.6. Implementation of semaphore operations

Section 10.5 gave an overview of the different ways in which semaphores can be used and showed their representation as data structures. We now focus on how the operations on semaphores are implemented.

The possibility of concurrent invocation of semaphore operations by processes must be considered. This will certainly happen on a multiprocessor and will happen on a uniprocessor unless restrictions are imposed to avoid the possibility.

Approaches to scheduling the queue of processes waiting on a given semaphore are then considered.

There are system design issues concerning where the semaphore class should be located and how it interacts with process management. We first assume that IPC is incorporated ...

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.