March 2003
Intermediate to advanced
912 pages
27h 17m
English
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 ...