Semaphore Primitives and Starvation-free Mutual Exclusion

Most discussions of semaphore primitives in the literature provide only an informal description of their behavior, rather than a more precissde definition. These informal descriptions may be incorrect, incomplete, or subject to misinterpretation. As a result, the literature actually contains several...

Full description

Bibliographic Details
Main Author: Stark, Eugene William
Other Authors: Greif, Irene
Published: 2023
Online Access:https://hdl.handle.net/1721.1/148985
Description
Summary:Most discussions of semaphore primitives in the literature provide only an informal description of their behavior, rather than a more precissde definition. These informal descriptions may be incorrect, incomplete, or subject to misinterpretation. As a result, the literature actually contains several different definitions of the semaphore primitives. The differences are important, since the particular choice of definition can affect whether a solution to the mutal exclusion problem using semaphore primitives allows the possibility of process starvation. This thesis attempts to alleviate some of the confusion by giving precise definitions of two varieties of semaphore primitives; here called weak and blocked-set primitives. It is then shown that under certain natural conditions, although it is possible to implement starvation-free mutual exclusion with blocked-set semaphores, it is not possible to do so with weak semaphores. Thus weak semaphores are strictly less "powerful" than block-set semaphores.