Cap 7 STR
Cap 7 STR
Cap 7 STR
Estricta: Las tareas que conforman una acción atómica no pueden comunicarse con otras
tareas mientras se lleva a cabo la acción. Si bien, los recursos necesarios para realizar la
acción atómica no pueden asignarse mediante instrucciones en el programa.
No estricta: Las tareas que conforman una acción atómica sí pueden comunicarse con
otras tareas externas cierta restricciones (que esta interacción no tenga efecto en la
acción atómica y siempre que el resto del sistema no reciba información). sobre el
proceso de la acción En este caso, los recursos pueden ser distribuidos por el
programa, ya que las tareas internas a la acción atómica pueden comunicarse con el
gestor de recursos.
En una situación ideal todos los procesos involucrados en una acción atómica
conservarían los recursos que necesitan hasta el final de la acción. No obstante, esta
premisa conlleva una gestión de recursos deficiente. Para evitarlo, se permite la
comunicación de la acción atómica con los gestores de recursos. En este marco, la
comunicación con el exterior se realiza en dos fases eludiendo posibles inconsistencias
o problemas de acceso a los datos. En primer lugar, se desarrolla la fase creciente, en la
cual se efectúan las peticiones de los recursos que se necesitan para hacer la acción
atómica. Una vez que los recursos han sido asignados y han comenzado las tareas,
comienza la fase decreciente en la que se realiza la liberación de recursos. En ningún
caso, una vez que la fase decreciente está activa, podrá haber nuevas peticiones de
recursos.
3. ¿Qué requisitos debe cumplir una acción para ser considerada atómica?
Límites bien definidos: La acción atómica debe tener un inicio, un final y una
demarcación. El comienzo es el lugar de cada tarea involucrada en la acción en el que
comienza dicha acción. Análogamente se describe el final. La demarcación separa las
tareas involucradas en la acción atómica del resto de procesos.
Indivisibilidad: Expresa que no hay intercambio de información entre las tareas internas de
la acción atómica y las tareas externas a ésta.
4. ¿Cuáles son las principales diferencias entre los conceptos de acción atómica y
transacción atómica?
Una transacción atómica se define como una acción atómica que puede tener éxito o
fallar, entendiendo por fallar si, durante el desarrollo de la acción, ha ocurrido un error
del que ésta no ha podido recuperarse. Debe entonces realizarse una recuperación de
errores hacia atrás para evitar estados inconsistentes. Por ejemplo, considérese como
indivisible la acción de reservar un viaje en avión de ida y vuelta. En este caso, el sistema
deberá reservar ambos billetes, no puede coger únicamente uno de los vuelos.
Si alguno de los procesos intentara comunicarse con el que no está activo existen dos
opciones (recuperación de errores hacia atrás):
i) Bloqueo y espera.
ii) Continuar sin la comunicación. Esta aproximación trae consigo dos importantes
ventajas. Por una parte, las conversaciones pueden diseñarse de manera que la
participación no sea obligatoria. Por otro lado, se permite que los procesos con plazos
de tiempo puedan abandonar la conversación y, si fuera necesario, realizar acciones
alternativas.