2010-09-07 17 views

risposta

33

test-and-set modifica il contenuto di una posizione di memoria e restituisce il suo vecchio valore come una singola operazione atomica.

compare-and-swap confronta atomicamente il contenuto di una locazione di memoria per un determinato valore e, solo se sono uguali, modifica il contenuto di quella locazione di memoria di un dato nuovo valore.

La differenza contrassegnata in grassetto.

+0

Dal 'compare-and-swap' fa più lavoro di 'test-and-set' ci vuole più tempo di' test-and-set'? – arunmoezhi

+0

@arunmoezhi, dipende dall'implementazione. –

+0

Potete per favore elaborare. Il motivo per cui sono interessato a questo è se test-and-set è più veloce allora posso modificare il mio algoritmo per usarlo invece di confrontare-e-swap – arunmoezhi

5

Test e set opera su un bit, confronta e sostituisce su un campo a 32 bit.

Il sistema z/TPF favorisce l'utilizzo dell'istruzione di test e set (TS) perché spesso gli indicatori di blocco sono bit impostati per controllare l'accesso alle aree critiche del codice di sistema. L'istruzione test e set (TS) richiede meno registri rispetto all'istruzione di confronto e scambio (CS) e richiede meno tempo di esecuzione perché è necessario impostare solo un singolo byte.

e, ho trovato questi materiali da: http://www.ibm.com/support/knowledgecenter/SSB23S_1.1.0.13/gtpc3/tasinst.html

si può imparare di più su TSL con il libro intitolato "sistema operativo moderno, Capitolo 2" ...