Jump to content

Atomicity (computer science)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Ancheta Wis (talk | contribs) at 19:49, 13 January 2005 (ACID). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Atomicity

In computer science, an atomic operation is one that either completes fully, or has no lasting effect. It is a slightly ambiguous term:

  • In database systems, it is one of the ACID properties. In this context, "atomic" means nothing more than the above definition. i.e. All transactions must succeed or the entire transaction is rolled back.
  • In other areas of computer science such as operating systems, "atomic" also refers to the property that the changes made by an operation are only visible after it completes. That is, that there are no intermediate states visible to other threads. In database systems, this property is described separately as isolation.
  • In operating systems, an Atomic Operation is an operation that cannot be preempted. Once the operation begins, it cannot be interrupted until it is completed. This is necessary to protecting data when Hyperthreading. As such atomic operations normally consist of a single Machine instruction.
  • In symbolic languages, like Lisp, S-expressions are made of atoms and lists of S-expressions. S-expressions are then atomic if they are atoms, for example, numerics or symbols.
  • In other areas of computer science atomic can mean the smallest addressable unit of memory. The byte is typically atomic in this sense.

ACID stands for Atomicity, Consistency, Isolation, and Durability for relational database management systems and transaction processing