Atomic statements are neither necessary nor sufficient to implement entry and exit protocols for critical sections. However, protocols implemented with some underlying atomicity support tend to be easier to design, simpler to implement, and more efficient to use than are protocols implemented with no or minimal atomicity support.
For this class, our assumptions about atomic reads and write on memory are enough to implement critical-section entry and exit protocols. However, you might want to compare the protocols developed only with atomic reads and writes with the protocols developed using a higher-level form of atomicity such as found in the, for example, test-and-set instruction.
This page last modified on 25 June 2003.