Spisu treści:
Definicja - Co oznacza operacja atomowa?
Operacje atomowe w programowaniu współbieżnym to operacje programowe, które działają całkowicie niezależnie od innych procesów.
Operacje atomowe są stosowane w wielu nowoczesnych systemach operacyjnych i systemach przetwarzania równoległego.
Techopedia wyjaśnia działanie atomowe
Operacje atomowe są często używane w jądrze, podstawowym składniku większości systemów operacyjnych. Jednak większość sprzętu komputerowego, kompilatorów i bibliotek zapewnia także różne poziomy operacji atomowych.
Podczas ładowania i przechowywania sprzęt komputerowy zapisuje i odczytuje pamięć o wielkości słowa. Aby pobrać, dodać lub odjąć, zwiększanie wartości odbywa się za pomocą operacji atomowych. Podczas operacji atomowej procesor może odczytywać i zapisywać lokalizację podczas tej samej transmisji danych. W ten sposób inny mechanizm wejścia / wyjścia lub procesor nie może wykonywać zadań odczytu lub zapisu pamięci, dopóki operacja atomowa nie zostanie zakończona.
Gdy dane są wykorzystywane przez operację atomową, która jest również wykorzystywana przez inne operacje atomowe lub nieatomowe, mogą istnieć tylko w środowisku przetwarzania sekwencyjnego lub muszą być stosowane mechanizmy blokujące, aby uniknąć błędów danych. Porównaj i zamień to kolejna metoda, ale nie gwarantuje integralności danych dla wyników operacji atomowych.
Problem pojawia się, gdy dwie operacje wykonywane równolegle (operacje równoległe) wykorzystują te same dane i pojawia się rozbieżność między wynikami operacji. Blokowanie blokuje zmienne dane i wymusza sekwencyjne działanie procesów atomowych, które wykorzystują te same dane lub w jakiś sposób na nie wpływają.