Abstract

An active system component, the arbiter, is proposed as a system structuring concept for the implementation of synchronizing primitives. The concept is illustrated by showing a new and very simple implementation of the critical section with a busy form of waiting. This implementation will be refined in such a way that it does not need the commonly stated postulate of atomicity, according to which assignments to and inspections of common store locations are indivisible, non interfering, atomic actions. Thus we refute the well-known and widely believed “paradox of the critical region”. The use of the arbiter is further illustrated by showing an implementation of the semaphore operations. These operations are implemented “on top of” the proposed implementation for the critical section, i.e. using the same busy form of waiting to ensure the mutual exclusion of concurrently issued individual semaphore operations. Nevertheless, the proposed implementation explicitly allows a nonbusy form of waiting to result from one of the semaphore operations by means of an interrupt mechanism.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call