martes, 14 de junio de 2011

Acciones Atómicas (Resumen)

definición: 
Existen distintas formas casi equivalentes de expresar las propiedades de una acción atómica (Lomet. 1977; Randell et al., 1978).

(1) Una acción es atómica si los procesos que la realizan no saben de la existencia de ningún otro proceso activo, y ningún otro proceso activo tiene constancia de las actividades de los procesos durante el tiempo que en el actué están realizando la acción.

(2) Una acción es atómica si los procesos que 1a realizan no se comunican con otros procesos mientras esta siendo realizada la acción.

(3) Una acción es atómica si los procesos que la realizan no pueden detectar ningún cambio de estado salvo aquéllos realizados por ellos mismos, y si no revelan sus cambios tic estado hasta que la acción se haya completado.

(4) Las acciones son atómicas si, en lo que respecta a otros procesos, pueden ser consideradas invisibles e instantáneas, de forma que los efectos sobre el sistema sean como si estuvieran entrelazadas y no en concurrencia.

Estas definiciones no son totalmente equivalentes. Por ejemplo, considérese la segunda: <<una acción es atómica si los procesos que la realizan se comunican sólo entre sí y no con otros procesos del sistema>>. Al contrario que las otras tres. esta no define realmente la naturaleza auténtica de una acción atómica. A pesar de que garantiza que La acción es indivisible, estima restricción demasiado fuerte sobre los procesos. Se pueden permitir interacciones entre la acción atómica y el recto del sistema mientras no influyen en la actividad de la acción atómica y no se proporcione al resto del sistema ninguna información sobre el progreso de la acción (Anderson y Lee, 1990). En general, para permitir estas interacciones es necesario conocer detalladamente la función de la acción atómica y su interfaz con el resto del sistema.

Aunque una acción atómica se vea como algo indivisible. puede tener estructura interna. Para permitir la descomposición modular de las acciones atómicas se incorpora la noción de acciones atómicas anidadas. Los procesos comprometidos en una acción anidada deben ser un subconjunto de los que están involucrados en el nivel externo de la acción. Si no fuera así. una acción anidada podría pasar información relativa a la acción de nivel externo a un proceso externo.
Entonces, la acción de nivel externo ya no sería indivisible.

Acciones Atómicas de <<dos fases>>

Idealmente. todos los procesos involucren una acción atómica deberían obtener los requisitos necesarios (mientras dure la acción antes de comenzar. Estos recursos pueden ser liberados después de terminar la  acción atómica. Si se siguen estas reglas, no existe la necesidad de que la acción atómica interactúe con ninguna entidad externa. y se podría adoptar la definición de acción atómica más estricta.

La asignación de recursos mejora sustancialmente si se permite que la acción atómica liberar recursos antes de finalizar. Para que esta liberación prematura tenga sentido, es preciso que el efecto global sobre el estado del recurso sea idéntico al que correspondería si se retuviera el recurso hasta el final. Sin embargo, la pronta liberación mejora la concurrencia de todo el sistema.

Transacciones atómicas

La expresión transacciones atómicas se ha utilizado frecuentemente en el marco conceptual de los sistemas operativos y las bases de datos. Una transacción atómica tiene todas las propiedades de una acción atómica, más la característica adicional de que su ejecución puede tener éxito o fallar (no éxito). Por fallo se entiende la ocurrencia de un error del que la transacción no puede recuperarse; por ejemplo, un fallo de procesador. Si falla una acción atómica, los componentes del sistema que están siendo manipulados por la acción pueden terminar en un estado inconsistente.

ante el fallo, una transacción  atómica garantiza que los componentes sin devueltos a su estado original (esto es, al estado en el que estaban antes de que se conozcase la transacción). las transacciones atómicas a veces se conocen como acciones recuperables, aunque, desafortunadamente, se tienden a confundir los términos  acción  atómica y transacción atómica.
  • Atomicidad de fallo. lo que significa la transacción  debe o bien ser completada con éxito, o (en el caso de fallar) no tener efecto.
  • Atomicidad de sincronización (o aislamiento), lo que significa que la transacción es indivisible, en el sentido de que su ejecución parcial no puede ser observada por ninguna transacción que se este ejecutando concurrentemente.

requisitos de las acciones atómicas:
  • limites bien definidos
  • invisibilidad (aislamiento)
  • anidamiento
  • concurrencia

No hay comentarios:

Publicar un comentario