Академический Документы
Профессиональный Документы
Культура Документы
CHETUMAL
Ingeniería en Tecnologías de la Información y
Comunicaciones
Sistemas Operativos II
En general, se considera que los canales de comunicación son fiables y que cuando
falla la comunicación es debido a la caída del proceso, sin embargo algunos fallos
en el funcionamiento de un Sistema Distribuido pueden originarse por:
- Especificaciones impropias o con errores.
- Diseño deficiente del software o el hardware.
- Deterioros o averías en hardware.
a) Redundancia de Tiempo.
b) Redundancia de Información.
c) Redundancia física.
Otro punto clave es el uso de Grupos de Procesos, que entre otras cosas facilita la
comunicación con múltiples entidades remotas, así es más fácil el direccionamiento
por grupos que por entidades individuales; especialmente en el ámbito de fallos en
procesos, es importante comunicarse con la entidad donde ocurre el fallo, pero
también el notificar a las otras entidades que comparten el recurso que falla. Los
grupos pueden dar tratamiento a los errores de forma cooperativa o mediante una
jerarquía que delimita quienes participan en ello, las soluciones generalmente tienen
efectos colaterales, por ejemplo las jerarquías de procesos pueden generar
procesos huérfanos, o las cooperativas pueden ser ineficientes si la dispersión
aumenta.
RECUPERACIÓN DE ERRORES
Una forma prospectiva de trabajar con los errores es considerar que un error es un
estado del sistema que es distinto a los valores esperados, de tal suerte que la
recuperación de una falla se aborda como un proceso de recuperación de estados
hasta un estado libre de error, puede ser previo o posterior.
Hay dos enfoques para hacer lo anterior:
1- Si la naturaleza del error y los daños causados pueden ser completamente
calculados, entonces es posible remover esos errores del estado del proceso (o
sistema) y habilitar el movimiento hacia adelante del proceso a un estado libre de
error. Esta técnica es conocida como recuperación hacia adelante.
Hay dos formas de implementar una recuperación de error hacia atrás: el enfoque
basado en la operación y el enfoque basado en estado. Supongamos que tenemos
un sistema modelo, que consiste de una máquina simple. Asumimos que la máquina
está conectada a un sistema de almacenamiento secundario y a un sistema de
almacenamiento estable que no pierde datos en caso de falla. El almacenamiento
estable es usado para almacenar un registro de las transacciones y puntos de
recuperación. En comparación al almacenamiento secundario, el almacenamiento
estable es mucho más seguro, pero el almacenamiento secundario trabaja
continuamente.
Sincronización.
La sincronización de procesos en los sistemas distribuidos resulta más compleja
que en los centralizados, debido a que la información y el procesamiento se
mantienen en diferentes nodos.
Un sistema distribuido debe mantener vistas parciales y consistentes de todos los
procesos cooperativos.
Sincronización es la forma de forzar un orden parcial o total en cualquier conjunto
de evento.
Se utilizan algoritmos distribuidos para sincronizar el trabajo común entre los
procesos y estos algoritmos tienen las siguientes propiedades:
Inaceptable que se concentre en un nodo, a toda la información y procesamiento.
1.3 Sincronización
La sincronización es la coordinación de procesos que se ejecutan simultáneamente
para completar una tarea, con el fin de obtener un orden de ejecución correcto y
evitar así estados inesperados que interrumpan la Comunicación en los sistemas
operativos distribuidos.
Memoria Caché
En los sistemas de archivos convencionales, el fundamento para la memoria caché
es la reducción de la E/S de disco (lo que aumenta el rendimiento), en un SAD
(Sistema de Archivos Distribuido) el objetivo es reducir el tráfico en la red.
La copia de memoria caché.
Conservar allí los bloques de disco de acceso más reciente, para así manejar
localmente los accesos repetidos a la misma información y no aumentar el tráfico
de la red. La caché es un área de memoria utilizada para agilizar los procesos de
lectura-escritura.
Exclusión mutua
La condición de exclusión mutua se aplica a los os que no pueden ser compartidos.
Por ejemplo, varios procesos no pueden compartir simultáneamente una impresora.
Los archivos de sólo lectura son un buen ejemplo de recurso que puede
compartirse. Si varios procesos intentan abrir un archivo de sólo lectura al mismo
tiempo, puede concedérseles acceso al archivo de forma simultánea. Un proceso
no necesita esperar nunca para acceder a un recurso compartible
Algoritmos de Elección
Son los algoritmos para la elección de un proceso coordinador, iniciador,
secuenciador. El objetivo de un algoritmo de elección es garantizar que iniciada una
elección ésta concluya con el acuerdo de todos los procesos con respecto a la
identidad del nuevo coordinador.
Transacción atómica, transacción o acción atómica.
La principal propiedad de la transacción atómica es el “todo o nada”: O se hace todo
lo que se tenía que hacer como una unidad o no se hace nada.
Un esquema para garantizar la adecuada sincronización de la información en
sistemas centralizados como distribuidos es el uso de transacciones.
Las transacciones manejan 4 propiedades básicas: atómicas, consistentes, aisladas
y durables (ACID por sus siglas en inglés).
Las primitivas de las transacciones son:
BEGIN_TRANSACTION (inicio de transacción)
END_TRANSACTION (fin de transacción)
ABORT_TRANSACTION (deshacer operación)
READ (leer datos de un archivo u objeto)
WRITE (escribir datos a un archivo u objeto)
Interbloqueo
Una situación de interbloqueo tiene lugar cuando ninguno de los procesos que
compiten.
Por los recursos del sistema o interactúan entre sí puede avanzar por carecer de
algún recurso o esperar a que se produzca algún tipo de evento.
El interbloqueo se define como el conjunto de procesos que compiten por los
recursos del sistema o bien se comunican unos con otros. A diferencia de otros
problemas de la gestión de concurrente de procesos, para el caso general no existe
una solución eficiente.