Report Number: CS-TR-71-202
Institution: Stanford University, Department of Computer Science
Title: Communicating semaphores
Author: Saal, Harry J.
Author: Riddle, William E.
Date: February 1971
Abstract: This paper describes two extensions to the semaphore
operators originally introduced by Dijkstra. These extensions
can be used to reduce: 1) the number of semaphore references;
2) the time spent in critical sections; and 3) the number of
distinct semaphores required for proper synchronization
without greatly increasing the time required for semaphore
operations. Communicating semaphores may be utilized not only
for synchronization but also for message switching, resource
allocation from pools and as general queueing mechanisms.
http://i.stanford.edu/pub/cstr/reports/cs/tr/71/202/CS-TR-71-202.pdf