The easiest way to prevent race conditions is by ensuring that an operation is atomic at the chip level: the operation must be executed in a single instruction. These very small atomic operations can be found at the base of other, more flexible mechanisms to create critical sections. Thus, an atomic operation is something that can be performed by executing a single assembly language instruction in an “atomic” way, that is, without being interrupted in the middle.

