next up previous contents
Next: Decremento/incremento atómico (fetch-and-increment) Up: Ayuda con hardware Previous: Comprobar-y-poner (Test-and-set)   Índice General

Intercambiar (exchange)

La instrucción exchange (a veces llamado read-modify-write) intercambia un registro del procesador con el contenido de una dirección de la memoria en una instrucción atómica.

Así se puede realizar la exclusión mutua con

Initially:  vi is equal false
            C  is equal true

a: loop
b:   non-critical section
c:   loop
d:     exchange C and vi       ; atomic exchange
e:     if vi equals true exit
f:   endloop
g:   critical section
h:   exchange C and vi
i: endloop

Se observa lo mismo que en el caso anterior, no se garantiza una espera limitada. ¿Cómo se consigue? (refTareaExclusionPrácticas).



© 2005, Dr. Arno Formella, Universidad de Vigo, Departamento de Informática