Non-Atomic (Ordered) Semaphore Operations
Original Publication Date: 1987-Aug-01
Included in the Prior Art Database: 2005-Feb-01
A method is described to improve interprocess communications efficiency dramatically by attempting an array of operations in order, rather than as a unit. This new method allows semaphore operations specified in a semaphore array to be executed in order, even though some of the operations may be blocked for some time. The prior art performed all operations atomically, that is, none of the operations were performed until all blocking (waiting) was completed. This is useful in some cases, particularly resource sharing scenarios, but causes inefficiency when semaphores are used for process synchronization where each process wants to "POST" the other and then "WAIT" on it to finish. With atomic semaphore operations a process must make separate semaphore calls to "POST" and "WAIT.