Operacja atomowa

Operacja atomowa - operacja, która na określonym poziomie abstrakcji jest niepodzielna.

Instrukcje mikroprocesora z punktu widzenia systemu operacyjnego są operacjami atomowymi - gdy procesor rozpocznie wykonywanie instrukcji nie można jej przerwać ani w żaden sposób wpłynąć na jej realizację, choć w istocie na poziomie sprzętowym instrukcje są wykonywane w przynajmniej kilku krokach.

W wielu zastosowaniach istotne jest zagwarantowanie niepodzielności operacji:

  • w przetwarzaniu równoległym zmiana obiektów współdzielonych przez różne procesy musi być atomowa, z punktu widzenia procesu niepodzielna (patrz: sekcja krytyczna, fetch-and-add, compare-and-swap);
  • w systemach baz danych wszystkie zmiany w obrębie transakcji muszą zostać w całości albo zatwierdzone albo odrzucone, inni użytkownicy bazy danych nie mogą otrzymać danych niekompletnych;
  • podobnie w niektórych systemach plików zmiany muszą zostać w całości zatwierdzone albo odrzucone, aby w przypadku awarii (np. zaniku zasilania) system plików pozostał spójny.