Atomicitás (számítástechnika)

Az atomicitás az a tulajdonság, amelyet a párhuzamos programozás során használnak egy teljesen lefutott program egy műveletének vagy műveletsorának leírására anélkül, hogy megszakítanák őket a tanfolyam vége előtt. Egy műveletet, amely ellenőrzi ezt a tulajdonságot, " atomnak  " minősítik  , ez a kifejezés az ατομος ( atomos ) szóból ered, ami azt jelenti, hogy "nem lehet osztani".

Ez a koncepció például egy olyan program egy részére vonatkozik, amelynek folyamata vagy az azt kezelő szál nem engedi át bizonyos adatok monopóliumát egy másik folyamatnak a rész teljes lefolyása alatt. Ez a fogalom az adatbázisok tranzakcióira is vonatkozik .

Általában az összeszerelési utasításokat atomnak lehet tekinteni, de ez nem elegendő az adatok konzisztenciájának biztosításához . Ehhez szinkronizációs mechanizmusokat kell megvalósítani. Következésképpen és kiterjesztve elmondható, hogy az így védett szakasz, amelyet kölcsönös kizárással védett kritikus szakasznak nevezünk , szintén atom.

Példák speciális utasításokra, amelyeknek atomnak kell lenniük

Bizonyos párhuzamos architektúrákban használt számos utasítás atomikus, és szinkronizálások vagy nem blokkoló algoritmusok megvalósítására szolgál.

Gyakran használjuk az Összehasonlítás és cserélés , Fetch-and-add vagy Test-and-set utasításokat, valamint a pár Load-Link / Store-Conditional utasításokat .

Tranzakciós memória

A tranzakciós memória egy módja az atomi tranzakciók sorozatának: egy tranzakció több változtatás végrehajtására, és kudarcot vall, ha néhány használt változót megváltoztattak. Ezt a mechanizmust alkalmazunk adatbázisok formájában szoftver tranzakciós memória .


Megjegyzések és hivatkozások

  1. Az „atom” lexikográfiai és etimológiai meghatározása a számítógépes francia nyelvű pénztárból , a Nemzeti Szöveges és Lexikai Források Központjának honlapján .