Atomic működés - ez

Atomic műveletek - műveletek fut, mint egy különálló egység, vagy nem fut. Atomic műveletek különösen fontos többprocesszoros számítógépek (és többfeladatos operációs rendszerek), valamint a hozzáférés nonsharable erőforrások mindig atomi.

Egy atomi művelet nyitott csak befolyásolja egy patak.

Atomicity hardver (ha folytonosság hardware) és a program használata során speciális eszközöket interprogram kölcsönhatások: mutexek. szemafor). Lényegét tekintve szoftver biztosítja atomicitás két szakaszból áll: az erőforrás zár és a művelet végrehajtása. Blokkolás egy atomi művelet, hogy akár sikeres vagy visszaad egy foglalt üzenetet.

Ez a szakasz nem fejeződött be.

Segíthet Wikipedia bővül ez a következő információkat: Vegye szerelő sajátosságait osztani C és egy általános elmélet a mutex.

A stílus ezt a cikket, vagy neentsiklopedichen megsérti a szabályokat az orosz nyelvet.

Cikket kell korrigálni szerint stilisztikai szabályait Wikipedia.

Gyakran az atomi művelet egy szerelő oktatás, de nem feltétlenül. Ennél is fontosabb, nem minden szerelő oktatás atomi.

Szerelési útmutató és atomos

Működés amelynek végrehajtása nem tekinthető mindig atomi:

Műveletek, amelyek nem atomi:

Atomic x86 utasítások

  • CMPXCHG / CMPXCHG8B / CMPXCHG16B - atomi parancsot x86-összehasonlítás és csere. Amikor használják a prefix LOCK [1] [2] atomically végez összehasonlítást változó a megadott érték és a szállítást függően ez az összehasonlítás. Az végrehajtásának alapját lock-mentes algoritmusok. Gyakran használják a végrehajtása spinlocks és RWLockov, valamint szinte minden magasabb szintű szinkronizáló elemek, mint például szemafor, mutex, események, stb egy belső megvalósítása
  • Xchg - működtetése közötti csere a memóriát, és a regiszter végezzük atomosán x86-processzorok. [3] Ezt gyakran használják a végrehajtása spinlocks.

Ezen kívül sok féle parancs olvasható módosítsa-írási művelet lehet mesterségesen prefix atomi LOCK [4] (opkódot 0xF0):

  • ADD / ADC / SUB / SBB az összeadás és kivonás parancsokat, ha a memória operandus vevő
  • Command növelő / csökkentő INC / DEC
  • Csapat Logic ÉS / VAGY / XOR
  • Odnooperandnye csapat NEG / NEM
  • Bit művelet BTS / BTR / BTC
  • Amellett, és a csere XADD

LOCK prefix hatására a memória hozzáférési zár idejére utasítást. Lezárása lehet felosztani memória operandust szélesebb, mint a hossza, mint például hossza a gyorsítótár-sor.

Támogatás atomi műveletek RISC processzorok

A jellemzője RISC architektúrák, hogy hagyja abba a típusú utasítások olvasása-modify-write. A RISC processzorok DEC Alpha architektúra. PowerPC. MIPS és ARM (ARMv6 felett) mechanizmus támasztja blokkoló kizárólagos hozzáférést a memóriát. A módszer alapja egy pár exkluzív írható-olvasható utasításokat ll / SC:

  • Betöltés jelzett (LL - terhelés kapcsolódik),
  • próbál írni (SC - tárolja feltételes)

Atomic utasításokat és fordító

Fordítóprogramok magas szintű nyelvben sohasem kódgenerálást ne használjon atomi utasításokat, mert egyrészt az atomi műveletek sokszor drágább, mint máskor, másrészt van a fordító nincs információ, amikor a hozzáférés atomi utasítások (mivel még a módosító illékony változó nem ez azt jelenti, valóban szükség atomi műveletek). Emiatt, ha ez lényeges, a programozó használja az alábbi módszerek:

  1. Assembler behelyezése a megfelelő atomi utasításokat
  2. Bõvítési fordító (vagy függvény család __builtin_ __sync_)
  3. A „magas szintű” egy speciális borítás könyvtárak, például Glib
  4. Az új nyelv C11 és C ++ 11. támogatása _Atomic és atomi típusok és funkciók a család atomic_ [5]

jegyzetek

Nézze meg, mit „atomi művelet” más szótárak:

Atomic Operations - Atomic műveletek Műveletek egészét vagy nem fut. Atomic műveletek különösen fontos többprocesszoros számítógépek (és többfeladatos operációs rendszerek), valamint a hozzáférés nonsharable ... ... Wikipedia

SNMP - Cím: Simple Network Management Protocol szint (az OSI modell): Application család: UDP Port / ID: 161 / UDP 162 / UDP protokollt rendeltetése: Network Device Management specifikáció ... Wikipedia

Atomicity - (programozás) a műveletek folyamatosságát. Egy atomi művelet végrehajtása teljesen (vagy meghibásodása esetén a teljesítmény), megszakítás nélkül. Atomicity különösen fontos többprocesszoros számítógépek (és többfeladatos ... ... Wikipedia

A reguláris kifejezések - (... Angol reguláris kifejezések, röv RegExp, RegEx, zhargy regexek vagy reguláris kifejezések) egy formális nyelvet keresés és manipuláció a részsztring a szövegben, használatán alapuló meta-karakterek (joker karakter, ... ... Wikipedia

Regeksp - A reguláris kifejezések (... Angol reguláris kifejezések, röv RegExp, RegEx, zhargy regexek vagy reguláris kifejezések) rendszer elemzési szövegtöredékek formalizált minta, minta alapján a felvételi rendszer a keresést. Minta (Eng. ... ... Wikipedia

Regex - A reguláris kifejezés (... Angol reguláris kifejezések, röv RegExp, RegEx, zhargy regexek vagy reguláris kifejezések) rendszer elemzési szövegtöredékek formalizált minta, minta alapján a felvételi rendszer a keresést. Minta (Eng. ... ... Wikipedia

Regespy - A reguláris kifejezések (... Angol reguláris kifejezések, röv RegExp, RegEx, zhargy regexek vagy reguláris kifejezések) rendszer elemzési szövegtöredékek formalizált minta, minta alapján a felvételi rendszer a keresést. Minta (Eng. ... ... Wikipedia

Alapszakasz - A szabályos kifejezések (... Angol reguláris kifejezések, röv RegExp, RegEx, zhargy regexek vagy reguláris kifejezések) rendszer elemzési szövegtöredékek formalizált minta, minta alapján a felvételi rendszer a keresést. Minta (Eng. ... ... Wikipedia

Kapcsolódó cikkek